如何在emacs中调用Process Python中断和键盘中断?

时间:2017-11-20 11:01:40

标签: emacs elpy

我在Emacs中使用Python,使用Elpy和iPython。我从 C - c C - c 的文件中运行代码,但有时我想终止进程(键盘中断)。我使用相同的快捷方式尝试终止该过程(根据this question)。

我的目标是尝试区分杀死整个Python进程或只是中断内核。使用上面的快捷方式,它有时会执行第一个,有时会执行第二个。我还没有找到任何线索,如何概括它。

所以,问题是:如何停止Python进程以及如何中断内核?

1 个答案:

答案 0 :(得分:1)

我只想定义一个向进程发送中断的函数。我使用anaconda-mode而非elpy,因此我不确定elpy使用什么来获取关联的process-buffer,但python-modepython-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))))