PHP exec()未存储进程ID
我有一个PHP程序,它通过exec()在后台启动一个进程(进程的输出被发送到/dev/null)。然后我使用PHP exec()未存储进程ID,php,linux,process,exec,Php,Linux,Process,Exec,我有一个PHP程序,它通过exec()在后台启动一个进程(进程的输出被发送到/dev/null)。然后我使用exec(“echo$!”,$processs[0]),因为我想存储进程的ID,以便以后可以终止它。但是,$processs[0]的结果是一个空数组 为什么进程ID没有被存储?请注意,如果我执行后台进程,然后运行echo$,则正确输出进程ID从终端发送。另外需要注意的是,我使用的是基于Linux的Raspberry Pi 要记录进程ID,必须将其设置为变量。例如,要在后台启动另一个PHP脚
exec(“echo$!”,$processs[0])
,因为我想存储进程的ID,以便以后可以终止它。但是,$processs[0]
的结果是一个空数组
为什么进程ID没有被存储?请注意,如果我执行后台进程,然后运行
echo$,则正确输出进程ID代码>从终端发送。另外需要注意的是,我使用的是基于Linux的Raspberry Pi 要记录进程ID,必须将其设置为变量。例如,要在后台启动另一个PHP脚本:
$pid = exec("php mysbackgroundscript.php >/dev/null 2>&1 & echo $!");
$pid变量应该包含pid。为了记录进程ID,必须将其设置为变量。例如,要在后台启动另一个PHP脚本:
$pid = exec("php mysbackgroundscript.php >/dev/null 2>&1 & echo $!");
$pid变量应该包含pid。为了记录进程ID,必须将其设置为变量。例如,要在后台启动另一个PHP脚本:
$pid = exec("php mysbackgroundscript.php >/dev/null 2>&1 & echo $!");
$pid变量应该包含pid。为了记录进程ID,必须将其设置为变量。例如,要在后台启动另一个PHP脚本:
$pid = exec("php mysbackgroundscript.php >/dev/null 2>&1 & echo $!");
$pid变量应该包含pid。第二个exec()
运行一个新的shell进程,它不知道以前的进程´$代码>。第二个exec()
运行一个新的shell进程,它不知道以前的进程´$代码>。第二个exec()
运行一个新的shell进程,它不知道以前的进程´$代码>。第二个exec()
运行一个新的shell进程,它不知道以前的进程´$代码>。效果很好。谢谢你的例子。效果很好。谢谢你的例子。效果很好。谢谢你的例子。效果很好。谢谢你的例子。