我在Emacs中使用Python,使用Elpy和iPython。我从 C - c C - c 的文件中运行代码,但有时我想终止进程(键盘中断)。我使用相同的快捷方式尝试终止该过程(根据this question)。
我的目标是尝试区分杀死整个Python进程或只是中断内核。使用上面的快捷方式,它有时会执行第一个,有时会执行第二个。我还没有找到任何线索,如何概括它。
所以,问题是:如何停止Python进程以及如何中断内核?
答案 0 :(得分:1)
我只想定义一个向进程发送中断的函数。我使用anaconda-mode
而非elpy
,因此我不确定elpy
使用什么来获取关联的process-buffer
,但python-mode
有python-shell-get-process-or-error
。然后你可以将密钥 C-c C-a ,例如,python-mode-map
中的密钥绑定到以下函数。
(defun my-interrupt ()
"Send an interrupt signal to python process"
(interactive)
(let ((proc (ignore-errors
(python-shell-get-process-or-error))))
(when proc
(interrupt-process proc))))