语境:
原文链接:https://www.f2er.com/bash/387091.html用户为我提供了自定义脚本来运行.这些脚本可以是任何类型的脚本,以启动多个GUI程序,后端服务.我无法控制脚本的编写方式.这些脚本可以是阻塞类型,即执行等待直到所有子进程(顺序运行的程序)退出
#exaple of blocking script echo "START" first_program second_program echo "DONE"
#example of non-blocking script echo "START" first_program & second_program & echo "DONE"
我想要实现的目标是什么?
用户提供的脚本可以是上述两种类型中的任何一种,也可以是两者的混合.我的工作是运行脚本并等待它启动的所有进程退出然后关闭节点.如果它的阻塞类型,case很简单,即得到脚本执行过程的PID并等到ps -ef | grep -ef PID没有更多的条目.非阻塞脚本是给我带来麻烦的
有没有办法可以获得通过执行脚本产生的所有子进程的PID列表?任何指针或提示将受到高度赞赏