在elisp代码中,要删除make-process或start-process中的“处理完成”消息,可以通过以下步骤实现:
下面是一个示例代码,演示如何删除“处理完成”消息:
(defun my-process-filter (process output)
"自定义进程过滤函数,过滤掉处理完成消息"
(unless (string-match-p "处理完成" output)
;; 处理其他消息
(message output)))
(let ((process (make-process :name "my-process"
:buffer "*my-process*"
:command '("command" "arg1" "arg2")
:filter #'my-process-filter)))
;; 等待进程处理完成
(while (process-live-p process)
(accept-process-output process)))
在上述代码中,我们定义了一个名为my-process-filter
的自定义过滤函数。该函数会判断输出消息中是否包含“处理完成”字符串,如果不包含则处理该消息,否则忽略该消息。
然后,使用make-process
函数创建一个进程对象,并设置了过滤函数为my-process-filter
。在实际使用中,你需要根据自己的需求修改:command
参数,指定要执行的命令及参数。
最后,通过accept-process-output
函数等待进程处理完成。在等待过程中,进程的输出会被传递给过滤函数进行处理。
请注意,上述代码只是一个示例,具体的实现方式可能因实际情况而异。你可以根据自己的需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云