Centos 7.9.2009
Java8
1、 原启动命令 java -jar xxx.jar > test.log 2>&1 &
在 start.sh 脚本文件里
2、有两台一样的服务器, 环境配置都一样; 之前一直是正常的(shell 会话关闭 , 也可正常运行)
3、其中一台重启后,手动上去执行此脚本启动后;会话关闭进程就没了
1、 在命令前增加 nohup , 尝试无效
2、 在命令前增加 nohup ,并使用 exit 退出shell会话, 尝试无效
3、 检查设置参数 shopt huponexit
huponexit 原本值就为 off, 尝试重新设置后, 一样无效
1、希望能像另一台一样,关闭shell会话,不影响java进程正常运行
是否有遇到过类似情况? 或知道具体原因的,望不吝赐教,感谢!
使用 nohup 命令,但是后面java的jar文件要使用【绝对路径】,必须绝对路径 不要用相对路径
--
他这问题,关闭SSH连接后,程序被强制终止,不止是java程序其他的程序也被关闭,尝试过nohup命令,和screen命令都无效
现象发生的先后顺序是:之前没有这种现象,重启linux服务器之后出现了该异常,上面的操作都无效,我现在只能分析可能是Linux出现问题了,并不是shell那里。 代题主求助金鱼哥@IT民工金鱼哥
感谢各位的回复! 问题原因找到了,是 ssh 版本的问题
没问题的服务器 SSH版本(旧的): 7.4p1
有问题的服务器 SSH版本(新的): 8.9p1
解决方案:
在ssh@.service 中 [Service] 节点下,添加 KillMode=process 后重启 sshd 服务
参考连接:
https://www.cnblogs.com/byzgss/p/15573344.html
按照你的解决方案,在命令前增加 nohup 是正确的
如果两台服务器都一样,建议查一下系统日志,看看问题
有没有可能是你这个java进程启动失败,只不过进程延迟一会才结束,并不是会话关闭导致