如何在Mac中同时执行PHP CLI脚本

时间:2012-03-27 01:54:09

标签: php command-line-interface

我有50个php文件,我想从命令行同时运行。现在,我使用代码在多个CLI窗口中运行它们:

php Script1.php

我希望能够调用一个同时执行所有50个php文件的脚本文件。我一直在阅读如何让命令行不等待输出,但我似乎无法使它工作。

我是MAC和Scripting的新手 - 也许我不需要脚本?是否有另外一个基于mac的解决方案可以做到这一点,而我不必打开50个单独的终端窗口?

3 个答案:

答案 0 :(得分:5)

您可以添加&符号“&”来分隔每个命令:

php script1.php & php script2.php & php script3.php ...

此符号符号将告诉shell在后台运行命令。

要检查输出,您可以将其重定向到文件:

php script1.php > script1.log.txt & php script2.php > script2.log.txt

您可以在其上执行tail来阅读日志:

tail -f script1.log.txt

答案 1 :(得分:1)

如果您的脚本编号从1到50很好,您可以在.command文件中尝试以下操作:

i=1;
while [ $i -lt 51 ]
do
osascript -e 'tell app "Terminal"
    do script "php Script$i.php"
end tell' &
i=$[$i+1]
done

这应该打开50个单独的终端窗口,每个窗口运行脚本{$ i} .php

答案 2 :(得分:1)

您也可以同时运行它们,但不能在后台运行。

php test1.php; php test2.php;

我不知道你为什么要在脚本运行后与脚本“互动”。