我有这段代码:
<?php
exec("sleep 15m; ls -l");
echo "Done";
?>
但是它会卡住并且在15分钟过去之后不会停止加载,无论如何不等待执行exec?
答案 0 :(得分:2)
<强> EXEC 强>
...
注意:如果使用此功能启动程序,为了使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。如果不这样做将导致PHP挂起,直到程序执行结束。
所以你必须重定向输出并在后台启动它
exec("(sleep 15m; ls -l) >/dev/null 2>&1 &");
答案 1 :(得分:0)
如果我理解正确,你想在后台执行你的命令:
exec("(sleep 15m ; ls -l) &")