shell判断进程是否存在,不存在则启动

需求:有时候在调用非本系统下面的服务时,需要先判断一下该服务是否已启动,如果没有的话则进行启动

这时候可以用到下面的范例,shell脚本

ps -ef | grep ProcessString | grep -v grep
if [ $? -ne 0 ]
then
dosomething to start
else
echo "runing"
fi

ps命令里面的ProcessString 是能唯一定位该进程的字符串

grep -v grep 是忽略掉grep本身的进程显示

$? 是上一个函数的返回值

-ne 表示不等于

ps命令如果有结果的话,$?的值就不为0,否则等于0

注意点:

    1、if后面的[]  要特别注意空格,不然命令就会报错

你可能感兴趣的:(Sundries,Linux,shell,bash,进程)