2015-11-08 23 views
1

我正试图编写一个启动多个进程的cronjob,我想要并行运行。从PHP调用Shell命令而不考虑输出

我正在使用一个调用每个命令的foreach,但命令行等待输出。我不希望它。

想知道是否有人曾经为此使用任何库?

回答

1

的命令后添加一个符号:

$ php task.php & 

它将运行PHP的该实例在后台继续。

+0

注意在基于Unix的系统这仅适用于使用“开始/ B” +命令,要做到这一点在Windows服务器上。 – MiDri

0

如果你读the manual on passthru如果程序开始使用此功能,以便它继续在后台运行,输出你会发现它会告诉你如何避免这种情况?

的程序必须重定向到一个文件或另一个输出流。否则会导致PHP挂起,直到程序执行结束。

所以你可以依靠UNIX FDS输出重定向到像/dev/null例如,如果你不关心输出或部分文件,如果你想保存输出,这将避免PHP等待该命令完成。

pssthru("somecommand > /some/path/to/file")