Shell脚本:监视任务启动

时间:2010-10-20 08:04:25

标签: linux shell

在脚本中,我想以一种方式监视进程列表,为了继续执行脚本,必须启动某个进程。

我想出了类似的东西:

while ! pgrep "process_to_match"
do
  sleep 10
done;

# the rest of the script

该脚本的问题在于,如果“process_to_match”启动的时间少于10ms,则不会执行“脚本的其余部分”。

对我来说更好的解决方案是在“process_to_match”启动时触发脚本的执行。

有什么想法吗? 感谢。

2 个答案:

答案 0 :(得分:2)

您能否以其他方式检查该流程是否已执行?我的意思是这个过程记录或修改任何东西吗?

如果没有,您可以通过shell脚本替换进程(重命名进程并使用进程文件名创建一个shell),该脚本将在运行您正在等待的进程后记录一些内容。

答案 1 :(得分:0)

您的实际需求是什么?

如果你知道你正在监控的进程的PID,那么你只需要等待它:

wait $pid

获取此PID非常简单:

process_to_match & pid=$!