标签: php linux exec nohup
我需要在PHP中运行这样的命令:
exec('dosomething > saveit.txt');
除了我不希望PHP等待它完成。我也不想丢弃输出,我不想使用nohup,因为我在同一目录中使用了其他东西。
我也试过了pclose(popen('dosomething > saveit.txt','r'));但是没有用,它还在等待。
pclose(popen('dosomething > saveit.txt','r'));
答案 0 :(得分:4)
在命令末尾添加ampersand,所以:
exec('dosomething > saveit.txt &');
答案 1 :(得分:3)
在exec()的文档中,有一个有趣的comment说:
exec()
花了很长时间才弄明白我接下来要发布的这一行。如果要在后台执行命令而不让脚本等待结果,可以执行以下操作:
<?php passthru("/usr/bin/php /path/to/script.php ".$argv_parameter." >> /path/to/log_file.log 2>&1 &"); ?>