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
没有运行进程时,如下显示,只有一条,这条就是这条命令的进程。
如果进程存在就会显示多条进程信息,其中一条包括命令这条。
所以判断是否存在,只要判断数量即可,命令为
进程大于1,则进程存在正常,显示如下:
以下是最简单的判断内容,判断进程数量小于等于1,则进程不存在,然后重启即可。
shell判断相关参数:
需注意的坑:
grep 需要加上参数 -w ,意为精确匹配。如果不加上 -w ,判断进程数量会不准确。
例:判断一个名为 info.py 的脚本内容: ps -ef |grep info.py
不加 -w ,会把包括 info.py 都显示出来,如 info_py , info 之类的。所以显示数量远大于实际进程数量。
所以写脚本时必须加上 -w 参数,显示只有 info.py 的内容。
grep其他参数参考:
脚本完成后,需添加系统定时任务。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)