Linux判断服务进程存在,存在则重启,不存在则启动
1、查看进程pid
通过获取进程pid来判断该进程是否存在
ps -ef | grep app.jar | grep -v grep | awk '{print $2}'、
ps -ef | grep app.jar 打印出包含 app.jar 的所有进程信息(一行一个进程的信息)
grep -v grep 过滤掉包含 grep 字符的行,过滤掉当前的查找进程
awk '{print $2}' 输出第二列的内容;等于0时输出所有内容,大于0时输出指定列的内容;
2、使用
#!/bin/sh
PIDS=`ps -ef | grep app.jar | grep -v grep | awk '{print $2}'`
#不使用 `` 也可以使用 ${}
if [ "$PIDS" != "" ]; then
kill -9 $PIDS
nohup java -jar -Dserver.port=8080 app.jar >run.log 2>&1&
echo "apx-api restart!"
else
nohup java -jar -Dserver.port=8080 app.jar >run.log 2>&1&
echo "apx-api started!"
fi
作者:梦里梦外
--------------------------------------------------------------------------------------------------------------------
个性签名:以梦为马,驰骋岁月;以梦为马,诗酒趁年华!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个 “推荐” 哦,博主在此感谢!