当前位置:  开发笔记 > 编程语言 > 正文

在初始化/ bash脚本中同时执行多个程序

如何解决《在初始化/bash脚本中同时执行多个程序》经验,为你挑选了2个好方法。

您好我正在使用一个使用rcS脚本启动的模拟器,这是我的脚本

cd /tests
./test1 &
./test2 &
./test3 &
./test4 
exit

我想要的是同时运行所有测试,并且只有在所有先前的测试完成后才执行exit命令.并且不仅在测试4完成时,这可能吗?谢谢.



1> gak..:

你可以使用wait:

./test1 &
./test2 &
./test3 &
./test4 &
wait

从bash手册页:

wait [n ...]等待每个指定的进程并返回其终止状态.每个n可以是进程ID或作业规范; 如果给出了作业规范,则等待该作业管道中的所有进程.如果未给出n,则等待所有当前活动的子进程,并且返回状态为零.如果n指定不存在的进程或作业,则返回状态为127.否则,返回状态是最后一个进程或作业等待的退出状态.



2> 小智..:

xargs 可以支持并行

就像这样:

seq 4|xargs -i -n 1 -P 4 ./test{} 

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有