shell终端断开(关闭)后,进程消失问题
一、问题:
项目用nohup启动后端程序,不关闭远端连接没有问题程序正常运行,关闭远端连接xshell窗口,程序被杀死。
二、原因
经排查发现服务器的openssh被升级到了8.4版本,从而导致退出终端就会杀死通过终端启动的线程。
主要是与openssh的策略有关,8.4版本的默认策略是**(当前控制组里面的所有子进程,都会被杀掉)**
退出ssh的杀死程序(KillMode)有如下策略:
1、control-group(默认值):当前控制组里面的所有子进程,都会被杀掉
2、process:只杀主进程
3、mixed:主进程将收到 SIGTERM 信号,子进程收到 SIGKILL 信号
4、none:没有进程会被杀掉,只是执行服务的 stop 命令。
三、解决方法
1. 修改/lib/systemd/system/sshd@.service 配置
1 | [Unit] |
- 重启sshd
1 | systemctl restart sshd.service |
- 本文作者: GHOSTLaycoo
- 本文链接: http://example.com/2022/05/19/ssh升至8.4出现的问题/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!