精华内容
下载资源
问答
  • nohup 守护进程

    2016-07-02 14:18:01
    &方式: Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。... 但是我们很多程序并不象mysqld一样可以做成守护进程,可能我们的程序只是普通程序而已,一
    &方式:
    Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: 
            /usr/local/mysql/bin/mysqld_safe --user=mysql &

    nohup方式:
     但是我们很多程序并不象mysqld一样可以做成守护进程,可能我们的程序只是普通程序而已,一般这种程序即使使用 & 结尾,如果终端关闭,那么程序也会被关闭。为了能够后台运行,我们需要使用nohup这个命令,比如我们有个start.sh需要在后台运行,并且希望在后台能够一直运行,那么就使用nohup: 
                nohup /root/start.sh & 
              在shell中回车后提示: 
              [~]$ appending output to nohup.out 
          原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。

    nohup问题:
    但是有时候在这一步会有问题,当把终端关闭后,进程会自动被关闭,察看nohup.out可以看到在关闭终端瞬间服务自动关闭。
    有个操作终端时的细节:当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;而我是每次在nohup执行成功后直接点关闭程序按钮关闭终端。所以这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown。
    这个细节有人和我一样没注意到,所以在这儿记录一下了。

    附:nohup命令参考 
    nohup 命令 
      用途:不挂断地运行命令。 
      语法:nohup Command [ Arg ... ] [ & ] 
      描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示"and"的符号)到命令的尾部。 
      无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。 
      退出状态:该命令返回下列出口值: 
      126 可以查找但不能调用 Command 参数指定的命令。 
      127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。 
      否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。 
      nohup命令及其输出文件 
      nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。 
      该命令的一般形式为:nohup command & 
      使用nohup命令提交作业 
      如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件: 
      nohup command > myout.file 2>&1 & 
      在上面的例子中,输出被重定向到myout.file文件中。 
      使用 jobs 查看任务。 
      使用 fg %n 关闭。 
      另外有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样就可以利用这些命令在后台上传和下载文件了。
    展开全文
  • linux nohup守护进程

    2018-07-27 17:26:02
    后台守护进行 nohup php websocket.php >/dev/null 2>&1 &  查看进程 ps -aux |grep "php websocket.php"  杀死进程 kill -9 22234   5. 开机自启 通过...

    后台守护进行

    nohup php websocket.php >/dev/null 2>&1 &

     查看进程

    ps -aux |grep "php websocket.php" 

    杀死进程

    kill -9 22234 

     

    5. 开机自启

    通过前面的步骤,我们知道如何开启和关闭一个php进程,但是,在实际的应用中,我们不可能每次都是手动开启,这样我们就会损失掉一部分业务数据,所以我们必须要让该进程开机自动运行,步骤如下:

    在/etc/rc.local文件中,将nohup php websocket.php >/dev/null 2>&1 &这个命令加入即可。

     

    6.当然swoole没这么麻烦。只要在set方法加 'daemonize' => 1即可,这里只是提供参照对比一下是不是能达到同样的效果

    展开全文
  • Shell: nohup守护进程化

    2015-09-13 13:09:00
    感觉nohup就是将一个进程初始化为一个守护进程。 nohup命令运行了另一个命令来阻断所有发送给该进程的SIGHUP信号。这会在退出终端会话时阻止进程退出。 由于nohup命令会从终端解除进程的关联,进程会丢掉到...

    如果想在终端会话中启动shell脚本,然后让脚本一直以后台模式运行,直到其完成,即使你退出了终端会话,可以使用nohup命令实现。感觉nohup就是将一个进程初始化为一个守护进程。 nohup命令运行了另一个命令来阻断所有发送给该进程的SIGHUP信号。这会在退出终端会话时阻止进程退出。
     

       由于nohup命令会从终端解除进程的关联,进程会丢掉到STDOUT和STDIN的链接,为了保存该命令产生的输出,nohup命令会自动将STDOUT和STDERR的消息重定向到一个名为nohup.out的文件中。
    ************************************************************************************
    演示脚本如下,很简单:
    Shell: <wbr>nohup守护进程化
    ===============================================
    执行的命令格式为: nohup ./tmp.bash &,输出会到nohup.out中
    Shell: <wbr>nohup守护进程化
     

    转载于:https://www.cnblogs.com/rain-blog/p/shell-daemon.html

    展开全文
  • Linux nohup守护进程经验

    千次阅读 2015-08-06 09:53:55
    可以在后台运行命令,并且还有nohup.out日志运行文件产生,可以使用tail -f nohup.out来实时监控运行过程。 在Linux/Unix中,有这样几个概念: 进程组(process group):一个或多个进程的集合,每一个进程组有...

    因为我使用xshell,启动jetty,但发现一关闭窗口就自动和主机断开了,和Windows的终端不一样,所以就上网找啊找,网上说普通的一些程序,& 结尾,终端关闭,那么程序也被关!  于是就查为什么ssh一关闭,程序就不再运行了?

    如果需要退出终端后依旧在运行,那么可以使用 nohup、screen、setsid。


    nohup命令可以用来执行其他命令,并且忽略SIGHUP信号(run a command immune to hangups, with output to a non-tty。Run COMMAND, ignoring hangup signals.)当一个虚拟终端的网络连接断开时,操作系统向正在运行的程序发送SIGHUP信号(HUP = HangUP、挂断),默认情况下这个信号将使程序退出。


     nohup 命令 &

    可以在后台运行命令,并且还有nohup.out日志运行文件产生,可以使用tail -f nohup.out来实时监控运行过程。

    在Linux/Unix中,有这样几个概念:
    进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。
    会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。
    会话期可以有一个单独的控制终端(controlling terminal)。与控制终端连接的会话期首进程叫做控制进程(controlling process)。当前与终端交互的进程称为前台进程组。其余进程组称为后台进程组。



    根据POSIX.1定义:
    挂断信号(SIGHUP)默认的动作是终止程序。
    当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。
    如果会话期首进程终止,则该信号发送到该会话期前台进程组。
    一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。


    结论:因此当网络断开或终端窗口关闭后,也就是SSH断开以后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出。

    但是为了能够再注销以后 依然能后台运行,那么我们就可以使用nohup这个命令,我们现在开始查找find / -name ‘*http*’ &
    ,并且希望在后台运行,
    那么就使用nohup:nohup find / -name “*httpd*”
    此时默认地程序运行的输出信息放到当前文件夹的 nohup.out 文件中去
    加不加&并不会影响这个命令   只是让程序 前台或者后台运行而已


    简而言之:就是ssh 打开以后,bash等都是他的子程序,一旦ssh关闭,系统将所有相关进程杀掉。导致一旦ssh关闭,执行中的任务就取消了!!!

    展开全文
  • Linux nohup 守护进程

    千次阅读 2012-01-05 10:52:49
     但是我们很多程序并不象mysqld一样可以做成守护 进程 ,可能我们的程序只是普通程序而已,一般这种程序即使使用 & 结尾,如果终端关闭,那么程序也会被关闭。为了能够后台运行,我们需要使用nohup这个命令,比如...
  • 使用nohup守护进程方式启动程序

    千次阅读 2015-04-27 11:21:25
    要实现守护进程,一种方法是按守护进程的规则去编程(本站有文章介绍过),比较麻烦;另一种方法是仍然用普通方法编程,然后用nohup命令启动程序: nohup <程序名> & 则控制台logout后,进程仍然继续运行,起到...
  • 守护线程nohup

    2019-12-04 11:09:22
    目录: /data/logstash-7.4.0/config/idn /data/work/filebeat-7.1.1-linux-x86_64 /data/filebeat.bak.191112/modules.d ...nohup ./filebeat -e -c filebeat.yml >/dev/null 2>/dev/null &
  • 要实现守护进程,一种方法是按守护进程的规则去编程;另一种方法是仍然用普通方法编程,然后用nohup命令启动程序: nohup程序名>& 则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格...
  • 来源:... nohup 命令 用途:不挂断地运行命令。 语法:nohup Command [ Arg … ] [ &...描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号...
  • 守护进程nohup的用法

    千次阅读 2018-08-26 15:35:12
    ■关于nohup 在使用nohup命令的时候,经常由于输出nohup.out的路径没有写入权限,而无法使用nohup。 这是可以使用Linux重定向的方法,将nohup.out重定向至一个有写入权限的路径,或者直接扔到/dev/null中。 nohup...
  • nohup—后端守护进程

    2015-07-17 16:24:00
    要将一个命令放到后台执行,我们一般使用nohup sh command & 为什么要nohup? 因为我用使用Scrt这种终端工具退出的时候会向我们在当前shell下启动的进程发生一个SIGHUP信号, 而SIGHUP信号的默认行为时终止...
  • rabbitMQ + nohup 服务端守护进程(一)

    千次阅读 2019-06-28 16:41:42
    随着互联网的发展,php快速开发的特点,现在越来越多的团队将php作为服务端的编程语言, 大家都知道php是单线程,但...请望指正。 php创建守护进程 开始之前, 请确认已安装扩展pcntl和posix。请使用 ... 创建守护进程...
  • 守护进程4-nohup

    2020-02-01 18:12:14
    我们要结束一个进程时可以通过kill命令来实现,kill的过程简单来说是这样: 使用kill将信号发送到进程的task_struct中,task_struct的特定的成员变量里记下这个...除了利用工具(tmux,screen等),daemon自守护,s...
  • nohup

    2019-11-28 13:59:50
    nohup 不挂断的运行,& 指后台运行(<->终端交互) 我们的普通程序使用 &,但是如果终端关闭,那么程序也会被关闭。(<->守护进程) jobs;kill %n;bg %n;fg %n; 守护进程 <?php $...
  • 进程 三种进程: 普通进程:默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作。...守护进程:如果一个进程永远都是以后台方式启动,并且不能受到Shell退出影响而...
  • 守护进程 nohup node server.js &

    千次阅读 2017-11-14 17:41:21
    nohup 命令还有比disown更方便的命令,就是nohup。 $ nohup node server.js & nohup命令对server.js进程做了三件事。阻止SIGHUP信号发到这个进程。关闭标准输入。该进程不再能够接收任何输入,即使运行在前台。...
  • 一、Linux 下使用 nohup Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 &amp; 在程序结尾来让程序自动运行。 比如我们要运行weblogic在后台: ./startWebLogic.sh &amp; 但是加入我们很多...
  • Linux定时任务Crontab以及nohup启动

    千次阅读 2018-09-10 17:26:29
    后面一看日志,表面原因是nohup守护的爬虫进程挂掉了 总结nohup 挂掉的两个理由 1. 程序自己报错停掉 2. kill -9 被强制杀掉 当时也没多想,直接就重启了脚本,爬虫夸夸的跑,跑着跑着又出错...
  • Unix中 nohup 命令功能就是不挂断地运行命令,同时 nohup 把程序的所有输出到放到当前目录 nohup.out 文件中,如果文件不可写,则放到 <用户主目录>/nohup.out 文件中。那么有了这个命令以后我们php就写成shell ...
  • nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂断的意思( no hang up)。 该命令...
  • contab每秒执行脚本,然后将把标准错误重定向到标准输出(2>&1)以追加的方式写入log_cronjob.txt。补充:试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而...nohup pyt...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,801
精华内容 2,320
关键字:

nohup守护