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

}

1 、可以通过ps命令获取所有的进程,然后通过awk命令肢埋罩提取进历闹程名,再用grep提取相应的进程名即可。

2、参考代码如下:

ps -aux |awk '{print $11}' | grep "^$1" >/dev/null

case $? in

    0)

        液迟echo "find process $1"

        

    1)

        echo "$1 is not running"

        

    *)

        echo "unknow error"

esac

3、运行结果如下

编写好的shell脚本(如:test),返伏可以采取两种方式进行运行:\x0d\x0a一、 $ sh test\x0d\x0a一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。\x0d\x0a也可以采用 $ ksh test\x0d\x0a这种方式要求shell具有“可读”的访问权限。\x0d\x0a二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。\x0d\x0achmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限)\x0d\x0achmod +rx test(同上)\x0d\x0achmod u+rx test(只有文件属主具有读和执行的访问权限)\x0d\x0a按照上述要求哗穗设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚乱世卜本了。\x0d\x0a1、test(如果命令检索路径包含当前目录)\x0d\x0a2、./test(如果命令减缩路径不包含当前目录)\x0d\x0a*说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存