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

Fir*_*gun 6 bash parallelism

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

原始代码可能如下所示:

 for i in *; do something.py $i; done
Run Code Online (Sandbox Code Playgroud)

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

 for i in *; do something.py $i &; done
Run Code Online (Sandbox Code Playgroud)

我试过了,发现&这里不起作用..

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

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

Gil*_*not 7

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

 for i in *; do something.py $i & done
Run Code Online (Sandbox Code Playgroud)

要同时运行脚本的N 个实例,请参阅man 1 parallel

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

  • 编辑帖子后不需要评论:它是一个维基,编辑历史被记录...... (2认同)