我正在尝试终止Flymake进程,然后关闭它运行的缓冲区,尽管没有成功。以下是我的尝试:
(defun haxe-kill-network-process ()
"Kill connection to Haxe compiler server and Flymake process in this buffer"
(when (equal major-mode 'haxe-mode)
(let ((proc (get-process haxe-compiler-process))
(fly-proc (get-buffer-process (buffer-name))))
(when proc
(delete-process proc)
(haxe-log 3 "Disconnecting from HaXe compiler server")
(flymake-mode -1)
(delete-process fly-proc)
(haxe-log 3 "Flymake process killed")))))
(add-hook 'kill-buffer-hook #'haxe-kill-network-process)
我得到了这个输出:
断开与Haxe编译器服务器的连接
关闭Flymake模式 缓冲StripArray.hx由于致命状态CFGERR,警告 运行时出现配置错误(haxe --connect 127.0.0.1:1257 --cwd / home / wvxvw / projects / wafer / src -swf /home/wvxvw/projects/wafer/bin/wunderwafer.swf -cp / home / wvxvw / projects / wafer / src -swf-header 800:600:31 -swf-version 10 com.wunderwafer.map.StripArray)
Flymake进程被杀
但它没有被haxe-kill-network-process
杀死 - 当我试图杀死运行该进程的缓冲区时,它仍然会提示我终止它。
答案 0 :(得分:2)
我们需要更多信息来确定究竟发生了什么,但这里有一些想法:
set-process-query-on-exit-flag
来避免提示。(current-buffer)
而不是(buffer-name)
。M-x list-processes
来查看正在运行的进程。