![如何在 ssh 会话关闭后停止由该会话启动的无限运行进程(ztail)](https://linux22.com/image/600471/%E5%A6%82%E4%BD%95%E5%9C%A8%20ssh%20%E4%BC%9A%E8%AF%9D%E5%85%B3%E9%97%AD%E5%90%8E%E5%81%9C%E6%AD%A2%E7%94%B1%E8%AF%A5%E4%BC%9A%E8%AF%9D%E5%90%AF%E5%8A%A8%E7%9A%84%E6%97%A0%E9%99%90%E8%BF%90%E8%A1%8C%E8%BF%9B%E7%A8%8B%EF%BC%88ztail%EF%BC%89.png)
我有一个奇怪的问题。我的服务器同时支持多个 ssh 会话,以便多个管理员可以同时管理它。
我们有一个命令,它调用ztail
来显示压缩日志文件,并且当当前 ssh 会话关闭时(不按ctrlc, 来停止tail
命令),该命令理想情况下应该停止工作。
但是当我启动新的 ssh 会话时,我发现ztail
即使前一个会话已关闭,该进程仍然在后台运行并消耗 CPU。
我如何确定会话何时关闭,以便我可以使用该变量/标志来关闭/停止由先前关闭的会话发起的任何命令?
答案1
您没有说明在会话中运行的命令是什么,ssh
进而调用 ztail,也没有说明该命令是否继续运行。
当您关闭会话时,该命令会收到SIGHUP
信号,然后应处理ztail
。