对于网站,我需要能够启动和停止守护进程.我目前正在做的是
exec("sudo /etc/init.d/daemonToStart start");
守护进程已启动,但Apache / PHP挂起.做一个PS aux显示sudo本身变成了一个僵尸进程,有效地杀死了所有进一步的进展.尝试从PHP启动一个daeomon时这是正常的行为吗?
是的,Apache有权执行/etc/init.d/daemonToStart命令.我修改了/ etc / sudoers文件以允许它这样做.不,我不允许Apache能够执行任何类型的命令,只有少数几个允许网站工作.
无论如何,回到我的问题,有没有办法让PHP以一种没有创建僵尸进程的方式启动守护进程?我问这个是因为当我反向操作时,停止已经启动的守护进程,效果很好.
尝试附加> / dev / null 2>& 1&对命令.
所以这:
exec("sudo /etc/init.d/daemonToStart > /dev/null 2>&1 &");
以防您想知道它的作用/原因:
>> / dev / null – 将STDOUT重定向到/ dev / null(换句话说,blackhole它)> 2>& 1 – 将STDERR重定向到STDOUT(黑洞也是如此)>&分离过程并在后台运行
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。