shell脚本判断某个linux程序是否在正常运行,如果不是就启动他

shell脚本判断某个linux程序是否在正常运行,如果不是就启动他,第1张

shell脚本判断程序是否运行可以使用如下shel函数:

function check(){

count=`ps -ef |grep $1 |grep -v "grep"|wc -l`

#echo $count

if [ 0 == $count ]then

#nohup python /runscript/working/$1 &

/etc/init.d/mbx2009d start

fi

}

echo $? 用来判断上一个命令是否执行成功,为0代表执行成功!一般用于

pwd

if [ $? -eq 0 ]then

echo "pwd命令执行成功!"

else

echo "pwd命令执行失败!"

fi

在shell中,判断一个进程是否存在,是判断进程数量

没有运行进程时,如下显示,只有一条,这条就是这条命令的进程。

如果进程存在就会显示多条进程信息,其中一条包括命令这条。

所以判断是否存在,只要判断数量即可,命令为

进程大于1,则进程存在正常,显示如下:

以下是最简单的判断内容,判断进程数量小于等于1,则进程不存在,然后重启即可。

shell判断相关参数:

需注意的坑:

grep 需要加上参数 -w ,意为精确匹配。如果不加上 -w ,判断进程数量会不准确。

例:判断一个名为 info.py 的脚本内容: ps -ef |grep info.py

不加 -w ,会把包括 info.py 都显示出来,如 info_py , info 之类的。所以显示数量远大于实际进程数量。

所以写脚本时必须加上 -w 参数,显示只有 info.py 的内容。

grep其他参数参考:

脚本完成后,需添加系统定时任务。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11086146.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存