有没有办法在 bash 脚本的循环中并行运行进程

有没有办法在 bash 脚本的循环中并行运行进程

可能的重复:
并行化 for 循环

原始代码可能如下所示:

 for i in *; do something.py $i; done

我想知道是否可以在后台并行运行这些作业,例如:

 for i in *; do something.py $i &; done

我尝试了一下,发现&这里行不通。

此外,更好的方法可能是 bash 允许 8 个作业(或任意数量)一起运行在后台队列中,但我不知道该怎么做......

有人对此有想法吗?谢谢!

答案1

只需删除该;字符,因此在 Final 中:

 for i in *; do something.py $i & done

而对于跑步来说同时查看脚本的实例,请参阅man 1 parallel

http://www.gnu.org/software/parallel/

相关内容