如何在此 bash 脚本中编写等待并继续的程序
我有两个 shell 脚本 A 和 B。我需要在后台运行 A,并在前台运行 B,直到 A 在后台完成执行。我需要重复这个过程几次运行,因此一旦 A 完成,我需要暂停当前迭代并移至下一个迭代。
粗略的想法是这样的:
for((i=0; i< 10; i++))
do
./A.sh &
for ((c=0; c< C_MAX; c++))
do
./B.sh
done
continue
done
我如何使用'wait
'和'Continue
',以便B在A在后台运行时运行尽可能多的次数,并且整个进程移动到A 完成后进行下一次迭代
I have two shell scripts say A and B. I need to run A in the background and run B in the foreground till A finishes its execution in the background. I need to repeat this process for couple of runs, hence once A finishes, I need to suspend current iteration and move to next iteration.
Rough idea is like this:
for((i=0; i< 10; i++))
do
./A.sh &
for ((c=0; c< C_MAX; c++))
do
./B.sh
done
continue
done
how do I use 'wait
' and 'continue
' so that B runs as many times while A is in the background and the entire process moves to next iteration once A finishes
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用当前后台进程的PID:
Use the PID of the current background process:
我只是将你的粗略想法转化为 bash 脚本。
实现等待继续机制的核心思想(
while ps -p $A_PID >/dev/null; do...
)取自@thiton,他之前发布了您的问题的答案。I am just translating your rough idea into bash scripting.
The core idea to implement the wait-continue mechanism (
while ps -p $A_PID >/dev/null; do...
) is taken from @thiton who posted an answer earlier to your question.