如何在 SSH 中终止挂起的进程?

Ksh*_*rma 8 shell ssh

我有一个与 Amazon AWS 上运行的 VM 的 SSH 会话。

我运行的其中一个程序挂断并冻结了 SSH 终端。

所以我打Enter+ ~+.

现在,当我尝试连接到我的机器时,它说连接超时。

  1. 这是否意味着连接仅从客户端终止并且在服务器上仍处于活动状态?如果是这样,我如何创建新连接?
  2. Ctrl+C不适用于 SSH shell。这是否意味着在不终止 SSH 会话的情况下无法终止挂起命令?

Dra*_*oan 9

您可以向该进程发送一个 SIGSTOP(大多数 shellCtrl-Z用于此目的),这将告诉当前进程暂停它的当前状态。这应该会让你返回到你的 shell 命令提示符。然后,您可以查看使用该jobs命令暂停了哪些作业,然后使用该命令终止该进程kill。如果该进程在输出列表中是 1 号,jobs那么您将发出 kill -TERM %1 (并jobs再次检查它是否已消失)。您可能必须改为发送 SIGKILL ( kill -KILL %1)。

可在以下位置找到作业控制的简单指南:

http://en.wikibooks.org/wiki/A_Quick_Introduction_to_Unix/Job_Control