關於linux上通過nohup啟動程序之后終端關閉從而導致應用關閉的問題(redis以及Nginx等守護進程出現關閉終端從而關閉應用同理)


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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM