taoCMS是基于php+sqlite/mysql的国内最小(100Kb左右)的功能完善的CMS管理系统

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

2015-03-24
需求分析:
假设我们有三个进程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程序。(满足我们的要求)
参考资料:
http://serverfault.com/questions/374131/how-to-run-multiple-shell-scripts-in-parallel

类别:技术文章 | 阅读:186638 | 评论:0 | 标签:linux parallel

想收藏或者和大家分享这篇好文章→

“linux命令parallel实现多进程并行计算”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

taoCMS发布taoCMS 3.0.2(最后更新21年03月15日),请大家速速升级,欢迎大家试用和提出您宝贵的意见建议。

捐助与联系

☟请使用新浪微博联系我☟

☟在github上follow我☟

标签云