在shell脚本中并行运行命令而不使用背景

时间:2013-06-05 09:14:48

标签: shell parallel-processing

这是我当前的脚本,它在多个文件(filename0,filename1等)上运行另一个脚本。我的问题是运行需要时间,因此希望并行运行它们。大多数解决方案都涉及到工作背景。但是,如果我这样做,那么工作就会停止。我现在解决这个问题的方法是在10个批次的不同终端窗口中运行此命令。

for i in `seq 0 100` 
do
my-other-script filename$i
done

2 个答案:

答案 0 :(得分:2)

乔布斯不会“停止”,因为它们已经落后,但你必须wait才能完成它们以避免在脚本完成之前退出脚本。 Documentation

答案 1 :(得分:0)

GNU Parallel是为了完成这些任务而制作的:

seq 0 100 | parallel -j10 my-other-script filename{}

您可以在http://www.gnu.org/s/parallel/

找到有关GNU Parallel的更多信息

您可以在10秒内安装GNU Parallel:

wget -O - pi.dk/3 | sh 

观看http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

上的介绍视频