Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将回显PID指定为PHP变量时,shell_exec()函数不起作用_Php_Linux_Shell Exec - Fatal编程技术网

将回显PID指定为PHP变量时,shell_exec()函数不起作用

将回显PID指定为PHP变量时,shell_exec()函数不起作用,php,linux,shell-exec,Php,Linux,Shell Exec,我很难找到解决我问题的办法。这里有一个简单的解释 使用以下代码,我能够使用shell_exec()函数启动脚本: shell_exec("nohup /usr/bin/php /home/script.php > /dev/null & echo $!"); 这很好用 但是,当我使用shell_exec()函数启动PHP脚本并使用以下代码分配返回的PID时,脚本过程不会启动,也不会完成任何操作(尽管$PID被正确回显): 如何检索PID并执行此“script.php”的进程?我终

我很难找到解决我问题的办法。这里有一个简单的解释

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

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

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


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

我终于发现了进程的问题:

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

事实——“ispirunning()”在执行之前在“script.php”中进行验证


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

我最终发现了流程的问题:

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

事实——“ispirunning()”在执行之前在“script.php”中进行验证


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

您是否尝试过运行
nohup/usr/bin/php/home/script.php>/dev/null&echo$直接在命令行上查看结果
shell_exec
返回程序运行的任何输出。
echo$将返回进程PID,这是我需要的。如果没有从返回中分配变量,则运行shell_exec()函数会起作用。有没有办法从“script.php”中回显PID?(回答您的问题:我暂时无法直接访问shell。)您是否尝试过运行
nohup/usr/bin/php/home/script.php>/dev/null&echo$直接在命令行上查看结果
shell_exec
返回程序运行的任何输出。
echo$将返回进程PID,这是我需要的。如果没有从返回中分配变量,则运行shell_exec()函数会起作用。有没有办法从“script.php”中回显PID?(回答你的问题:我目前无法直接访问壳牌。)
$pid = shell_exec("nohup /usr/bin/php /home/script.php > /dev/null & echo $!");
echo 'Process ID : ' . $pid;