shell_exec() 函数在回显 PID 分配为 PHP 变量时不起作用

shell_exec() function not working when echoed PID assigned as PHP variable

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

使用以下代码,我可以使用 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 是 return

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

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