有时,当应用程序挂在bash会话中(例如,networking滞后于telnet
, ssh
,无论),我不能用^ C杀死它,用^ D来阻止它,甚至用^ Z发送它到后台。
有没有办法杀死它而不打开另一个kill
shell? 我想有一个系统调用中断
如果使用SSH,请尝试两种ketstroke组合:〜^ z(代字号,然后是控制字符)。 这将逃避SSH会话。 按下^](ctrl然后),可以用telnet完成同样的操作。
现在,您可以开始一个新的会话,并杀死违规stream程或整个会话。 这是你想要的?
您可以使用Ctrl- \发送进程的SIGQUIT
,如果进程具有SIGTERM
(Ctrl-c)或SIGSTOP
(Ctrl-z)的信号处理程序,则有时会起作用。
如果您的进程在I / O系统调用(ps在状态D中显示)上阻塞,它将处于不可中断的睡眠状态,您将不得不等待,直到它正在等待的资源开始响应。