เช่นเดียวกับ Tikhon ที่กล่าวถึง(start-process)
คือหนทางที่จะไป ในกรณีที่คุณไม่ต้องการที่จะสร้างบัฟเฟอร์ (set-process-sentinel)
แต่ยังคงต้องการที่จะตอบสนองต่อสถานะกระบวนการพื้นหลังคุณยังสามารถจ้าง นี่คือตัวอย่างที่ฉันแก้ไขจากprojector
แพ็คเกจของฉัน:
(set-process-sentinel (start-process "process-name" nil "command") #'output-message-sentinel)
(defun output-message-sentinel (process msg)
(when (memq (process-status process) '(exit signal))
(message (concat (process-name process) " - " msg))))
จากคำอธิบายฟังก์ชั่น Emacs:
(set-process-sentinel PROCESS SENTINEL)
Give PROCESS the sentinel SENTINEL; nil for default.
The sentinel is called as a function when the process changes state.
It gets two arguments: the process, and a string describing the change.
GNU หน้าคู่มือในกระบวนการเป็นรักที่ดีสำหรับข้อมูลเพิ่มเติม
start-process
สำหรับคำสั่ง sudo หรือไม่? ฉันพยายามห่อโทรของฉันไปstart-process
ใน(let ((default-directory "/sudo::")) ... )
แต่มันไม่ได้ทำงานสำหรับฉัน