如何在PHP中执行exec(sleep NUMBER; anotherCommand)时继续执行?

时间:2013-01-26 21:25:40

标签: php html linux

我有这段代码:

<?php
    exec("sleep 15m; ls -l");
    echo "Done";
?>

但是它会卡住并且在15分钟过去之后不会停止加载,无论如何不等待执行exec?

2 个答案:

答案 0 :(得分:2)

来自PHP - exec

  

<强> EXEC
  ...
  注意

     

如果使用此功能启动程序,为了使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。如果不这样做将导致PHP挂起,直到程序执行结束。

所以你必须重定向输出在后台启动它

exec("(sleep 15m; ls -l) >/dev/null 2>&1 &");

答案 1 :(得分:0)

如果我理解正确,你想在后台执行你的命令:

exec("(sleep 15m ; ls -l) &")