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

posted @ 2022-04-01 16:00  MengW9  阅读(806)  评论(0编辑  收藏  举报