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 ,給文件添加執行權限,即可。