Tha*_*e90 10 php daemon zombie-process
对于网站,我需要能够启动和停止守护进程.我目前正在做的是
exec("sudo /etc/init.d/daemonToStart start");
Run Code Online (Sandbox Code Playgroud)
守护进程已启动,但Apache/PHP挂起.做一个ps aux
透露sudo
自己变成了一个僵尸进程,有效地杀死了所有进一步的进展.尝试从PHP启动一个daeomon时这是正常的行为吗?
是的,Apache有权执行该/etc/init.d/daemonToStart
命令.我修改了/ etc/sudoers文件以允许它这样做.不,我不允许Apache能够执行任何类型的命令,只有少数几个允许网站工作.
无论如何,回到我的问题,有没有办法允许PHP以不创建僵尸进程的方式启动守护进程?我问这个是因为当我反向操作时,停止已经启动的守护进程,效果很好.
Dav*_*dom 11
尝试附加> /dev/null 2>&1 &
命令.
所以这:
exec("sudo /etc/init.d/daemonToStart > /dev/null 2>&1 &");
Run Code Online (Sandbox Code Playgroud)
以防您想知道它的作用/原因:
> /dev/null
- 将STDOUT重定向到/ dev/null(换言之,黑洞)2>&1
- 将STDERR重定向到STDOUT(黑洞也是如此)&
分离过程并在后台运行 归档时间: |
|
查看次数: |
7632 次 |
最近记录: |