从PHP启动守护进程

对于网站,我需要能够启动和停止守护进程.我目前正在做的是
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(黑洞也是如此)>&分离过程并在后台运行

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...