PHP Exec:不等待,不丢弃输出,不使用nohup
我需要在PHP中运行如下命令:PHP Exec:不等待,不丢弃输出,不使用nohup,php,linux,exec,nohup,Php,Linux,Exec,Nohup,我需要在PHP中运行如下命令: exec('dosomething > saveit.txt'); 但是我不想PHP等待它完成。我也不想丢弃输出,也不想使用nohup,因为我在同一目录中使用它来处理其他内容 我还尝试了pclose(popen('dosomething>saveit.txt','r'),但这没有起作用,它仍在等待。在命令末尾添加一个,因此: exec('dosomething > saveit.txt &'); 在的文档中,有一个有趣的说法: 花了相当长的
exec('dosomething > saveit.txt');
但是我不想PHP等待它完成。我也不想丢弃输出,也不想使用nohup,因为我在同一目录中使用它来处理其他内容
我还尝试了pclose(popen('dosomething>saveit.txt','r')代码>,但这没有起作用,它仍在等待。在命令末尾添加一个,因此:
exec('dosomething > saveit.txt &');
在的文档中,有一个有趣的说法:
花了相当长的时间才弄清楚我下一步要发布的内容。如果希望在后台执行命令而不让脚本等待结果,可以执行以下操作:
唯一的问题是我没有尝试运行另一个PHP脚本。但是我总是可以用exec命令创建一个PHP脚本,然后用这个命令运行这个PHP脚本。这是一个解决方案。nohup
可以写入不同的输出文件。如果您立即调用pclose
,那么系统当然必须等待子进程。您知道Windows系统的等效值吗?
<?php
passthru("/usr/bin/php /path/to/script.php ".$argv_parameter." >> /path/to/log_file.log 2>&1 &");
?>