当将响应PID指定为PHP变量时,shell_exec()函数不起作用



我很难确定问题的解决方案。这里有一个简单的解释。

使用以下代码,我可以使用shell_exec()函数启动脚本:

shell_exec("nohup /usr/bin/php /home/script.php > /dev/null & echo $!");

这非常有效。

但是,当我使用shell_exec()函数启动PHP脚本并使用以下代码分配返回的PID时,脚本进程不会启动,也不会完成任何操作(尽管$PID得到了正确的响应):

$pid = shell_exec("nohup /usr/bin/php /home/script.php > /dev/null & echo $!");
echo 'Process ID : ' . $pid;

如何检索PID并执行此"script.php"的进程?

我终于发现了这个过程的问题:

事实-PID在脚本执行之前返回

事实-"isPIDRunning()"在执行之前在"script.php"中进行验证。

结果-脚本没有避免两次启动,甚至没有执行。

最新更新