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