我很难确定问题的解决方案。这里有一个简单的解释。
使用以下代码,我可以使用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"中进行验证。
结果-脚本没有避免两次启动,甚至没有执行。