当前位置: 技术问答>linux和unix
如何用守护进程来监控另一个进程的状态
来源: 互联网 发布时间:2016-06-26
本文导语: 如题,当另一个进程状态僵死或者不可用的时候,守护进程就会去重新启动这个进程,这如何能够实现,请各位DX帮忙~~~ | 你说的一般都是一个watch dog 进程 一旦被监视进程死掉了 ...
如题,当另一个进程状态僵死或者不可用的时候,守护进程就会去重新启动这个进程,这如何能够实现,请各位DX帮忙~~~
|
你说的一般都是一个watch dog 进程 一旦被监视进程死掉了 对吧 就立马重启一下。
也简单, 用watch dog进程 fork 被监视进程 然后 waitpid上 根据 返回的status 决定进一步的操作。
用脚本估计也是行的。
也简单, 用watch dog进程 fork 被监视进程 然后 waitpid上 根据 返回的status 决定进一步的操作。
用脚本估计也是行的。
|
|
假设要监控的进程名称为test,TargetProcessName为启动该进程的脚本
while [ 0 ]
do
Result=$(ps -ef | grep -v grep |grep "test")
if [ "" == "$Result" ]
then
RecordTime=$(date)
echo "Restar test" >>$LogFile
nohup $TargetProcessName>>$LogFile &
sleep 2
fi
Result=
done
while [ 0 ]
do
Result=$(ps -ef | grep -v grep |grep "test")
if [ "" == "$Result" ]
then
RecordTime=$(date)
echo "Restar test" >>$LogFile
nohup $TargetProcessName>>$LogFile &
sleep 2
fi
Result=
done
|
回楼上 都能 status 有一系列的宏 对应可以检测。