我有一个名为 iter.php 的 php 文件。我可以通过 bash 输入轻松地运行它:
php iter.php >> result.txt
我可以通过重复它来连续运行它多次。但是,我需要同时运行它们。因此,换句话说,如果我连续运行两个实例,它们应该或多或少同时完成并在彼此之后立即输出,而不是在彼此之后运行。
我可以在 bash 中完成这个吗?
我有一个名为 iter.php 的 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 脚本执行得非常快,您实际上可能看不到并发运行的结果,而是看到顺序运行的结果。这取决于是否: