php脚本如何通过加参数 -d 实现后台运行?

php 脚本代码(文件名:s.php)如下:

<?php

cli_set_process_title('queue-server');

while(true) {......}

通过命令 php s.php 运行起来了,但是目前只能通过 ctrl+c 结束进程,如何能做到像 workerman 那样加个 -d ,然后点击 enter 键,他就直接进后台执行了呢?

阅读 2.2k
2 个回答

nohup

nohup php s.php 2>&1 &

workerman 和 php 是两种东西,不能类比,workerman 和 docker、redis、nginx 都属于应用,所以自带后台运行配置。

php 是脚本解释器,workerman 是 php 写的,但是 php 它是 C 写的,它的目的就是为了运行的起来 php 脚本,守护进程不是它该考虑的事。

要么就在脚本里面启动一个守护进程

workerman 是通过 fork了一个子进程在 后台运行的,你也要吧看看它的实现方式,php也可以操作进程的,但是具体还是挺麻烦的,为了这个一点小功能,还是楼上说的对,直接用nohup

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题