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