nohup指令基本概念:
nohup: 不掛斷的運行,並沒有后台運行功能,用nohup運行命令可以使命令永久執行下去,和用戶終端沒有關系,斷開SSH不影響運行,&是后台運行。
背景:
在linux運行springboot項目的時候,大多數情況都是通過打包,然后使用nohup命令進行運行jar包從而達到后台運行的效果,sheel腳本一般寫法如下:
nohup java -jar XXX.jar -Xmx3550m -Xms3550m -XX:ErrorFile=/home/nurse/hs_err_pid_%p.log > ./logs/nurse.log 2>&1 &
但是最近在公司中部署項目出現了關閉ssh終端就會導致應用關閉退出問題,查找了很久,定位到的原因是為了應付安全檢查,對linux的openssh(4.8升級到了8.4版本)進行了升級,從而導致退出終端就退出應用。
解決方案:
1、切換目錄值系統配置文件夾下
cd /usr/lib/systemd/system
2、找到關於sshd@.service的配置文件
ll |grep sshd

3、在配置文件中新增一行數據KillMode=process
vi sshd@.service

wq!
reboot
最后確認修改重啟服務器即可,這樣就不會出現終端斷開之后應用被關閉問題
