编译c ++文件时,emacs会显示:
编译过程正在运行;杀了它?(y或n)。
但是y
没有效果。如何在Emacs中杀死活动进程? 进程列表中有许多正在运行的进程。
答案 0 :(得分:4)
不确定是否有更简单的交互式解决方案 - 但是使用一些elisp,您可以通过以下方式获取进程信息的缓冲区:
(list-processes)
如果你想要一个通用的kill-all运行进程,一个简单的例子就是:
(mapcar 'delete-process (process-list))
(请注意我们在这里使用process-list
。)
如果要按列表进程缓冲区中显示的名称删除特定进程:
(delete-process (get-process "name of proc"))
这是一个简单的方法,你可以使这个互动:
(如果您不使用IDO,请将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
以整理您的迷路进程。
虽然这是一个解决方案,但您可能希望进一步调查导致此行为的原因。如需其他人的帮助,您需要提供更多信息。