使用php启动shell脚本并退出它而不停止进程

时间:2016-02-19 23:06:27

标签: php shell

我的问题可能有点复杂。

这是我的情景:

我想用php启动mjpg流光。我的php脚本是:

HInstance

启动脚本时效果很好。问题是脚本

shellstart.sh:

<?php 
$output = shell_exec("sh /var/www/html/shellstart.sh");
echo "<pre>$output</pre>";
header("Location: ../index.php");
?>

启动一个进程,并且永远不会调用header()函数,因为它永远不会离开脚本。所以我正在寻找一种启动脚本的方法,让它继续运行但返回php脚本并调用header()函数。

我已经尝试了

LD_LIBRARY_PATH=/opt/mjpg-streamer/mjpg-streamer-experimental/ /opt/mjpg-streamer/mjpg-streamer-experime $

trap "exit" SIGINT

我也试过$ disown。但是当使用nohup或$ disown时,脚本甚至不会启动该过程。

我感谢任何帮助!提前致谢。

1 个答案:

答案 0 :(得分:2)

你想尝试类似的东西:

$pid = exec("sh /var/www/html/shellstart.sh> /dev/null 2>&1 & echo $!; ", $output); 

这将使脚本在后台启动并返回脚本的PID。