shell同时启多个进程,并等待所有子进程结束,再做接下来的操作,最好能获取每个子进程的退出状态
| (echo aaa >> /dev/null;sleep 10; exit 0)& |
| 2 | (echo bbb >> /dev/null;sleep 11; exit 1)& |
| 3 | (echo ccc >> /dev/null;sleep 9; exit 0)& |
| 4 |
| 5 | for((i=0;i<3;i++)); do |
| 6 | j=$(echo "$i+1" | bc -l) |
| 7 | wait %$j |
| 8 | echo $? |
|
前三行分别创建了三个后台子进程,由于在脚本中生成,它们的编号分别1,2,3。使用'wait %1'就等待第一个后台子进程,$?可以得到上一次条命令的退出状态 |

本文介绍如何使用Shell脚本启动并管理多个并发子进程,包括如何等待所有子进程完成及获取其退出状态。通过示例展示了如何创建后台子进程,并利用wait命令等待子进程结束并捕获退出状态。
1449

被折叠的 条评论
为什么被折叠?



