[Linux] PHP程序员玩转Linux系列-使用supervisor实现守护进程
首先遇到的问题是,部署nodejs的博客程序时,我把执行nodejs的命令放到后台,使用加&和nohup命令 如:nodejs index.js & 或者 nohup nodejs index.js & &这个使用是当退出此次终端会话的时候就会停止,nohup这个命令理论上是可以后台一直执行的,但是当出现某些异常的时候,还是会退出. 进程的基础概念 进程是执行程序的过程.unix系统的老祖宗内核进程的ppid都是是0,比如:init进程的pid是1,ppid是0;其他进程都是从init进程的基础上fork出来的,使用命令可以看到进程树 测试使用&实现一个后台进程,并把后台进程再转回到前台,下面是把进程放到后台,[1]这个是job的号 xx.txt &
把后台进程重新转到前台,%1的那个数字就是上面的job号 如何使用nohup这个命令? nohup命令,这个命令是使进程忽略SIGHUP挂起(hangup)信号,测试如下: xx.txt &
进程信号如下:
使用supervisor实现守护进程 守护进程,就是一直运行的收存周期很长的进程.使用supervisor可以实现这样的进程,该进程并且会在被杀掉的时候自动再次重启. 在配置文件(/etc/supervisord.conf)配置一下: program:nodejsblog 这里:后面的是个名字,可以随便起command= 这里是要执行的命令user= 这里是执行用户 开启 supervisord -c /etc/supervisord.conf 此时nodejs的守护进程也会随着启动了可以使用ps命令去查看一下,并且在你kill该进程的时候,会自动重启. 例如我这个例子中测试部署的nodejs网站http://nblog.qingguow.cn 与此相关的博文:
(编辑:鹤壁站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |