L丶Hal 2023-02-02 10:47 采纳率: 100%
浏览 65
已结题

Linux/Centos 环境 shell 会话关闭后,java进程被结束

Linux/Centos 环境 shell 会话关闭后,java进程被结束
操作环境、软件版本等信息

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进程正常运行

是否有遇到过类似情况? 或知道具体原因的,望不吝赐教,感谢!

  • 写回答

5条回答 默认 最新

  • bluetata 云计算领域优质创作者 2023-02-02 11:03
    关注

    使用 nohup 命令,但是后面java的jar文件要使用【绝对路径】,必须绝对路径 不要用相对路径

    --

    他这问题,关闭SSH连接后,程序被强制终止,不止是java程序其他的程序也被关闭,尝试过nohup命令,和screen命令都无效
    现象发生的先后顺序是:之前没有这种现象,重启linux服务器之后出现了该异常,上面的操作都无效,我现在只能分析可能是Linux出现问题了,并不是shell那里。 代题主求助金鱼哥@IT民工金鱼哥

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • L丶Hal 2023-02-06 16:30
    关注

    感谢各位的回复! 问题原因找到了,是 ssh 版本的问题

    没问题的服务器 SSH版本(旧的): 7.4p1
    有问题的服务器 SSH版本(新的): 8.9p1

    解决方案:
    在ssh@.service 中 [Service] 节点下,添加 KillMode=process 后重启 sshd 服务

    参考连接:
    https://www.cnblogs.com/byzgss/p/15573344.html

    评论
  • 梦想橡皮擦 Python领域优质创作者 2023-02-02 10:56
    关注

    按照你的解决方案,在命令前增加 nohup 是正确的

    如果两台服务器都一样,建议查一下系统日志,看看问题

    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2023-02-02 11:13
    关注
    评论
  • pzzhao 2023-02-02 11:50
    关注

    有没有可能是你这个java进程启动失败,只不过进程延迟一会才结束,并不是会话关闭导致

    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 2月14日
  • 已采纳回答 2月6日
  • 创建了问题 2月2日

悬赏问题

  • ¥15 k210显示failed init to model
  • ¥15 Evil-droid生成的APK手机已经下载但无法建立任务
  • ¥25 c语言韩信点兵的变式
  • ¥15 怎么根据书上的例子完成这个问题呢?
  • ¥15 ECharts 增加Zoom,整行包括右边的Text一起滑动
  • ¥15 关于网上一个easyx制作的见缝插针小游戏(c++)
  • ¥15 开地址法双散列函数处理碰撞
  • ¥15 想问一下这个是什么情况 虚拟机Linux打不开了
  • ¥15 联通光猫掉注册了怎么重新注册上去
  • ¥15 关于unity开发steamvr程序遇到的问题