相关疑难解决方法(0)

如何在bash中等待多个子进程完成并返回退出代码!= 0当任何子进程以代码结束时!= 0?

如何在bash脚本中等待从该脚本生成的几个子进程完成并返回退出代码!= 0当任何子进程以代码结束时!= 0?

简单的脚本:

#!/bin/bash
for i in `seq 0 9`; do
  doCalculations $i &
done
wait
Run Code Online (Sandbox Code Playgroud)

上面的脚本将等待所有10个生成的子进程,但它总是会给出退出状态0(请参阅参考资料help wait).如何修改此脚本,以便它发现生成的子进程的退出状态,并在任何子进程以代码!= 0结束时返回退出代码1?

有没有更好的解决方案,而不是收集子流程的PID,按顺序等待它们并总结退出状态?

bash process wait

518
推荐指数
18
解决办法
48万
查看次数

如何从bash脚本并行运行多个程序?

我正在尝试编写一个同时运行许多程序的.sh文件

我试过这个

prog1 
prog2
Run Code Online (Sandbox Code Playgroud)

但是运行prog1然后等到prog1结束然后开始prog2 ...

那我怎么能并行运行呢?

parallel-processing bash

218
推荐指数
12
解决办法
23万
查看次数

等待"任何过程"完成

bash中是否有任何内置功能可以等待任何进程完成?该wait命令仅允许等待子进程完成.我想知道在继续执行任何脚本之前是否有任何方法可以等待任何进程完成.

这样做的机械方法如下,但我想知道bash中是否有任何内置功能.

while ps -p `cat $PID_FILE` > /dev/null; do sleep 1; done
Run Code Online (Sandbox Code Playgroud)

bash scripting process wait

133
推荐指数
9
解决办法
14万
查看次数

标签 统计

bash ×3

process ×2

wait ×2

parallel-processing ×1

scripting ×1