一台客户端机器上的启动脚本.sh中
有ssh命令远程连接到另一台服务端机器并在上面启动java进程的场景中,发现在客户端ctrl+c关闭正在运行的脚本,却发现服务端上的java进程没有一起被杀掉,新增ssh参数-t只适用于脚本是前台运行的,加了nohup变成后台运行同样杀不掉远程的ssh进程,原先是想捕获进程的信号中断,这种捕获的函数只能捕获上一个父进程的信号,无法捕获更上一层的信号,只能把进程ID保存在缓存或者数据库中,在脚本父进程被杀掉后去数据库拿最底层的子进程id并杀掉即可
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)