当前位置: 技术问答>linux和unix
如何写守护脚本
来源: 互联网 发布时间:2017-02-18
本文导语: 要写个守护脚本,检查一个程序是否在运行,若没有运行就启动它 请问如何写啊,谢谢额 | #! /bin/ash PRO_PATH="程序的路径" PROGRAM="程序名" while true ; do PRO_NOW=`ps aux | grep $PROGRAM | grep -v gre...
要写个守护脚本,检查一个程序是否在运行,若没有运行就启动它
请问如何写啊,谢谢额
请问如何写啊,谢谢额
|
#! /bin/ash
PRO_PATH="程序的路径"
PROGRAM="程序名"
while true ; do
PRO_NOW=`ps aux | grep $PROGRAM | grep -v grep | wc -l`
if [$PRO_NOW -lt 1]; then
$PRO_PATH/$PROGRAM 2>/dev/null 1>&2 &
fi
PRO_STAT=`ps aux|grep $PROGRAM |grep T|grep -v grep|wc -l`
# 如果指定进程状态为已停止的信息大于零的话
if [ $PRO_STAT -gt 0 ] ; then
killall -9 $PROGRAM
sleep 2
$PRO_PATH/$PROGRAM 2>/dev/null 1>&2 &
fi
# while、until与for循环皆以do开始以done结束构成循环体
done
# exit 用来结束脚本并返回状态值,0 - 为成功,非零值为错误码,取值范围为0 ~ 255。
exit 0
|
不停的去查看在不在 ps -ef | grep -v "grep" | grep yourprocess
如果不在,启动 yourprocess
如果不在,启动 yourprocess
|
killall -9 杀不掉僵尸进程咩~~
ps -ef 替换 ps aux 不错的
如果是僵尸进程,杀死父进程id~~
不过也不安全。。。碎碎念。。
ps -ef 替换 ps aux 不错的
如果是僵尸进程,杀死父进程id~~
不过也不安全。。。碎碎念。。
|
写个脚本放到crontab里比较简单, rc这些还真是没玩明白.
|
你试试这个脚本,看报什么错
#! /bin/bash
while true ; do
PRO_NOW=`ps aux | grep myTest | grep -v grep | wc -l`
if [ $PRO_NOW -lt 1 ]; then
/mytools/myTest &
fi
done