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

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

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

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

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

nohup php index.php & 
这样才能保证脚本一直执行下去
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6
leo

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

5年前 评论

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

5年前 评论

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

5年前 评论

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

5年前 评论

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