linux命令parallel实现多进程并行计算



需求分析:

假设我们有三个进程A和B和C,分别对应三个运行脚本a.sh,b.sh,c.sh。
A和B两个进程是完全独立的。
C进行必须等待A进程和B进程都运行结束之后,才能启动C进程。

我们现在需要写一个脚本要运行这三个程序脚本

解决方法:

串联【不理想】:

a.sh;
b.sh;
c.sh;

但是如果这三个进程都要运行特别长的时间,如果10个小时左右。
这样的话运行总时间就需要30个小时。

因为我们知道A和B是相互独立的所以我们应该将A和B并联起来,然后再和C串联。
这样运行时间就优化成了20个小时。

并联的话我们不能使用后台运行的方式,如果将A或者B后台运行了,C需要等待A和B都运行结束了才启动,但是C不知道A和B什么时候结束。

暂时能想到的最简单的办法是引入parallel命令来解决】:

parallel -j 2 "sh a.sh" "sh b.sh";
sh c.sh

这样A和B就通过parallel来进行并联,等到A和B都运行结束了,parallel这个命令也就运行结束。
然后再进行C程序。(满足我们的要求)


参考资料:




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值