我正在尝试编写一个cronjob来启动我希望并行运行的多个进程。
我正在使用foreach调用每个命令,但命令行会等待输出。我不想放它。
想知道是否有人为此使用过任何图书馆?
答案 0 :(得分:1)
在命令后添加&符号:
$ php task.php &
它将在后台运行该php实例并继续。
答案 1 :(得分:0)
如果您阅读the manual on passthru
,您会发现它会告诉您如何避免这种情况......
如果使用此功能启动程序,为了使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。如果不这样做将导致PHP挂起,直到程序执行结束。
因此,您可以依赖UNIX fds将输出重定向到类似/dev/null
的内容,例如,如果您不关心输出或某些文件,如果您确实想要保存输出,这将避免PHP等待在命令完成。
pssthru("somecommand > /some/path/to/file")