【发布时间】:2012-08-10 07:24:27
【问题描述】:
我在某些服务器上使用 telnet/ssh 访问来运行特定的模拟器程序,并且该程序依赖于 SIGTERM 退出自身(如果不以交互方式输入“exit”字符串)。
当我直接终止 telnet/ssh 会话时,程序通常会在大多数服务器上自行退出。但是在某些服务器上,我的模拟器不会收到 SIGTERM 信号,并继续作为 ROOT 进程的子进程运行。那么那些悬空的进程会消耗大量的 CPU 资源。
有人可以帮我看看哪里吗?或者如何解决这种情况?
谢谢, 凯文
【问题讨论】:
-
如果您知道它不会在哪些服务器上正常关闭,为什么不在您注销之前明确杀死它?
-
正常情况下,我们会的。但是它是由自动化程序使用expect然后telnet到服务器并运行模拟器自动启动的,有时自动化程序可能由于其复杂性而无法正常退出。所以...
-
SIGTERM 未在哪些服务器上交付?这些服务器与提供 SIGTERM 的服务器之间还有什么不同?他们运行什么操作系统和 ssh/telnet 守护程序软件?哪些版本?