Linux 下后台执行和按照守护进程方式后台执行的坑

在没有认识到这个问题之前,我一直以为 php index.php & ,这个会在后台一直运行,直到昨天在编写远程RPC服务的时候遇到一个问题,服务端的脚本,在终端关闭后会掉线,经过几番查找,终于知道这个坑了,特此记录

命令行后面家加 & ,例如:

php index.php &
这种是在系统的后台执行,终端关闭,这个脚本执行完毕也会关闭

命令行使用nohup 加 & ,例如:

nohup php index.php & 
这样才能保证脚本一直执行下去
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6
leo

这种需求最好用 Supervisor 来监控进程状态

6年前 评论

如果是执行某个命令需要很长时间的话,远程服务器安装个 Screen。教程:https://www.ibm.com/developerworks/cn/linu...
如果是需要对进程进行管理的话,安装下 Python 库 Supervisor。教程:
https://blog.csdn.net/xyang81/article/deta...

6年前 评论

@leo ok,谢谢管理大大,我再优化一下 :grin:

6年前 评论

@jxlwqq 大神,我这边的业务是在内网运行了一个RPC脚本,就是内网跑了一个一个socket的服务端,客户端内网访问,这个脚本,但是客户端不是随时访问的,有业务才会访问,我用命令行执行了php之后就是怕这个进程会掉,所以想用守护进程的法师挂在后台执行,这样业务场景用什么工具比较好??

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!