有时候要有这样的需求, 判断进程是否存在,如果存在则不做操作,如果不存在,则需要启动程序
如下以tomcat为例:
#!/bin/bash
tomcatPid=`ps -ef|grep tomcat7|grep -v grep|awk '{print $2}'`
if [ -n "$tomcatPid" ]
then echo "tomcat is running"
echo "端口号"$tomcatPid
else echo "tomcat not running"
#启动tomcat
echo "开始启动tomcat...."
sh /soft/tomcat/tomcat7/bin/startup.sh
sleep 20;
newtomcatPid=`ps -ef|grep tomcat7|grep -v grep|awk '{print $2}'`
echo "tomcat启动成功"
echo "端口号"$newtomcatPid
fi
知识点:
1、grep -v 反选
2、if [ -n ] 为判断字符串非空
3、 if 条件里请特别注意空格,如图:
不然会报“command not found”