繁体   English   中英

从bash和APPEND运行一个PHP文件的多个实例结果到文件?

[英]Running multiple instances of a PHP file from bash and APPEND result to file?

我有一个php文件,名为iter.php。 我可以通过bash输入轻松地运行它:

php iter.php >> result.txt

我可以通过重复执行来连续运行多次。 但是,我需要同时运行它们。 因此,换句话说,如果我连续运行两个实例,则它们应该或多或少地同时完成并彼此紧接着输出,就像彼此紧接着运行一样。

我可以用bash做到吗?

通过使用&

php iter.php >> result.txt & php iter.php >> result.txt

您可以测试这是通过

php iter.php >> result.txt & sleep 10000 & php iter.php >> result.txt
!#/bin/bash

seq $1 | while read num do
    php iter.php >> $2 &
done

上面的bash脚本应同时运行$1 (第一个脚本参数)进程,并将结果输出到$2 (第二个bash参数)中。

请注意,如果您的PHP脚本执行得非常快,则实际上可能看不到并发运行的结果,而是顺序运行的结果。 这取决于是否:

  • 您的系统是单核还是多核:以后您更有可能获得并发结果,
  • 在单核系统上,脚本执行要比一个“周期”的调度花费更多的时间,并且在该周期之后,bash进程是否获得了CPU的控制权(假设所述周期具有固定的持续时间,不一定是正确的),
  • 对输出的访问可以是并发的(在所有条件相同的情况下,shell重定向应该允许)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM