Linux监听java进程状态
用意:判断某个进程是否正常运行,如果进程挂了,自动重启该进程
sh如下:
#!/bin/sh java_id=$(ps -ef | grep log-test | grep -v grep | awk '{print $2}') echo $java_id if [ ! $java_id ] ; then echo "java进程丢失!!" sh java-start.sh exit; else echo "java进程正常!!" fi
# 下面为java-start.sh的内容 #chmod -R 755 /data/java #rm -rf /data/log/null #nohup java -Xms2048m -Xmx8192m -Dfile.encoding=utf-8 -jar /data/java/log-test.jar --spring.profiles.active=prod >/dev/null 2>&1 & #ps -ef | grep java
Tips1: 指定某个用户启动java应用(test_user: 用户账号)
sudo su -test_user -s /bin/bash /data/sh/java-start.sh
Tips2: 获取nginx进程ID
nginx_id=`ps -ef | grep nginx | grep -v grep | sed -n 1p | awk '{print $2}'`