在脚本中,我想以一种方式监视进程列表,为了继续执行脚本,必须启动某个进程。
我想出了类似的东西:
while ! pgrep "process_to_match"
do
sleep 10
done;
# the rest of the script
该脚本的问题在于,如果“process_to_match”启动的时间少于10ms,则不会执行“脚本的其余部分”。
对我来说更好的解决方案是在“process_to_match”启动时触发脚本的执行。
有什么想法吗? 感谢。
答案 0 :(得分:2)
您能否以其他方式检查该流程是否已执行?我的意思是这个过程记录或修改任何东西吗?
如果没有,您可以通过shell脚本替换进程(重命名进程并使用进程文件名创建一个shell),该脚本将在运行您正在等待的进程后记录一些内容。
答案 1 :(得分:0)
您的实际需求是什么?
如果你知道你正在监控的进程的PID,那么你只需要等待它:
wait $pid
获取此PID非常简单:
process_to_match & pid=$!