如何在不杀死shell的情况下杀死远程进程(Cc Cc也会杀死shell ...)

Mar*_*ert 12 emacs

假设您从本地emacs shell(以...开头M-x shell)处理远程服务器.如果执行一个花费太长时间的进程(例如,ls在一个包含大量文件的目录中),您希望停止该进程(在终端中将使用control-c).我尝试C-c C-c但是杀了整个shell ...我怎么才能杀死远程服务器上的运行进程而不是整个shell?

更新

一步步:

1) M-x shell (execute on local machine)
2) ssh mylogin@myremotemachine.foo.bar (execute on local machine)
3) sleep 60 (execute on remote machine)
4) C-c C-c (execute in the current shell)
Run Code Online (Sandbox Code Playgroud)

=>而不是仍然在远程主机上,只是睡眠命令被杀死,整个远程连接关闭,你再次在本地机器上.

Sea*_*ean 21

当我按照您列出的步骤进行操作时,我发现自己回到了远程shell提示符.我正在使用Emacs 23.1.1.

我发现打字C-q C-c RET也会中断远程进程,再次让我处于远程shell提示符下.您可以尝试将其作为替代方法.