繁体   English   中英

如何在Emacs中终止正在运行的进程

[英]How do I kill a running process in Emacs

当我编译c ++文件时,emacs显示:

编译过程正在运行;杀了它?(y或n)。

但是y没有效果。 如何在Emacs中杀死活动进程? 进程列表中有许多正在运行的进程。

不确定是否有更简单的交互式解决方案 - 但使用一些elisp,您可以通过以下方式获取进程信息的缓冲区:

(list-processes)

如果你想要一个通用的kill-all运行进程,一个简单的例子是:

(mapcar 'delete-process (process-list))

(注意我们在这里使用了process-list )。

如果要按列表进程缓冲区中显示的名称删除特定进程:

(delete-process (get-process "name of proc"))

这里有一个简单的方法可以使这个交互:(如果你不使用IDO,用completing-read或类似替换ido-completing-read completing-read

(defun delete-process-interactive ()
  (interactive)
  (let ((pname (ido-completing-read "Process Name: " 
                    (mapcar 'process-name (process-list)))))

    (delete-process (get-process pname))))

然后运行或键绑定delete-process-interactive来整理你的迷路进程。

虽然这是一个解决方案,但您可能希望进一步研究导致此行为的原因。 如需其他人的帮助,您需要提供更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM