我有一个PHP脚本运行一堆命令来执行bash脚本,通过带有nohup的system()。
调用sh的命令行如下所示: -
system('nohup /home/me/script.sh %s %d %d 2>&1 > %s');
我希望将.sh脚本设置为运行,然后保留它并返回到我的继续我的PHP脚本。然而,正在发生的事情是,它正在启动,然后在继续之前保持得到响应/完成。
如何设置它运行然后'挂断'或离开?
答案 0 :(得分:3)
最后添加&符号&
,如下所示:
system('nohup /home/me/script.sh %s %d %d 2>&1 > %s &');
这将在一个单独的子进程中执行shell脚本并立即返回到php。
答案 1 :(得分:0)
如果您打算在退出PHP后运行此shell脚本,则建议使用 setsid 在新会话中运行程序。例如,查看http://php.net/manual/en/function.posix-setsid.php或使用setsid程序