【发布时间】:2012-01-13 07:08:21
【问题描述】:
对于网站,我需要能够启动和停止守护进程。我目前正在做的是
exec("sudo /etc/init.d/daemonToStart start");
守护进程已启动,但 Apache/PHP 挂起。执行ps aux 显示sudo 本身变成了一个僵尸进程,有效地杀死了所有进一步的进展。尝试从 PHP 启动守护进程时这是正常行为吗?
是的,Apache 有权执行/etc/init.d/daemonToStart 命令。我更改了 /etc/sudoers 文件以允许它这样做。不,我没有让 Apache 能够执行任何类型的命令,只是允许网站运行的少数几个命令。
无论如何,回到我的问题,有没有办法让 PHP 以不创建僵尸进程的方式启动守护进程?我问这个是因为当我做相反的事情时,停止一个已经启动的守护进程,工作得很好。
【问题讨论】:
-
不应该有
start参数吗? -
没错,我忘了在问题中添加这个。在我的代码中,我确实拥有它。但是,为了完整起见,我会编辑问题。
标签: php daemon zombie-process