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/shPIDS=`ps -ef | grep app.jar | grep -v grep | awk '{print $2}'`#不使用 `` 也可以使用 ${}if [ "$PIDS" != "" ]; thenkill -9 $PIDSnohup java -jar -Dserver.port=8080 app.jar >run.log 2>&1&echo "app-api restart!"elsenohup java -jar -Dserver.port=8080 app.jar >run.log 2>&1&echo "app-api started!"fi