ssh远程启动的java进程无法被杀掉

一台客户端机器上的启动脚本.sh中
有ssh命令远程连接到另一台服务端机器并在上面启动java进程的场景中,发现在客户端ctrl+c关闭正在运行的脚本,却发现服务端上的java进程没有一起被杀掉,新增ssh参数-t只适用于脚本是前台运行的,加了nohup变成后台运行同样杀不掉远程的ssh进程,原先是想捕获进程的信号中断,这种捕获的函数只能捕获上一个父进程的信号,无法捕获更上一层的信号,只能把进程ID保存在缓存或者数据库中,在脚本父进程被杀掉后去数据库拿最底层的子进程id并杀掉即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值