Linux中常用于java进程启动或停止命令有两种方式:
1.根据进程PID处理进程,此方式需要创建一个文件,将进程PID写入此文件,启动或者终止时找到此PID即可:
#根据PID终止/启动进程 kill -9 `cat /opt/app/demoApplication.pid` sleep 5s echo "start demoApplication..." nohup java -Xms512m -Xmx1024m -Duser.timezone=Asia/Shanghai -Dloader.path=classes -Dloader.main=cn.drz.DemoApplication -jar /opt/app/demoApplication-1.0-SNAPSHOT.jar > /dev/null 2>&1 & echo $! >/opt/app/demoApplication.pid #将PID写入文件
2.根据进程名称处理进程,此种方式对于同名进程会误操作:
#根据指定进程名终止/启动进程 echo "stop ngdpmgr..." ps -ef | grep NgdpMgrApplication | grep -v grep | cut -c 9-15 | xargs kill -s 9 sleep 5s echo "start ngdpmgr..." #-Djasypt.encryptor.password=${JASYPT_PASSWORD}:启动jar时从环境变量加载配置,常用于密码加解密密钥配置场景,执行export JASYPT_PASSWORD=MyPwd1289写入当前用户环境变量文件中即可(vim ~/.bashrc)。
nohup java -Xms512m -Xmx1024m -Duser.timezone=Asia/Shanghai -Dloader.path=classes -Dloader.main=cn.drz.DemoApplication -Djasypt.encryptor.password=${JASYPT_PASSWORD} -jar ngdpmgr-0.0.1-SNAPSHOT.jar > /dev/null 2>&1 &
任选上面一种方式的命令写入start.sh文件中(与jar包同级目录),执行 chmod u+x start.sh ,给文件添加执行权限,即可。