2

我有这个代码:

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

但它卡住了,直到 15 分钟后才会停止加载,无论如何不等待 exec 执行?

4

2 回答 2

2

PHP - 执行

执行
...
注意

如果使用此函数启动程序,为了使其继续在后台运行,程序的输出必须重定向到文件或另一个输出流。否则将导致 PHP 挂起,直到程序执行结束。

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

exec("(sleep 15m; ls -l) >/dev/null 2>&1 &");
于 2013-01-26T22:48:29.843 回答
0

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

exec("(sleep 15m ; ls -l) &")
于 2013-01-26T21:30:10.370 回答