sentinel は、対応するプロセスがステータスを変える時(常に)呼ばれる関数です。 これはプロセスを終了させたり、止めたり、続行させたり、またプロセスがそれ自身 で exit する場合を全て含みます。 sentinel は (シグナルを受け取るプロセスと受 け取られるシグナルの) 2 つのアーギュメントを持って呼ばれます。
sentinel は、Emacs の認識するシグナル (致命的なものや、そのプロセスを止めるも の) の全てに対して呼ばれます。 Emacs がプロセスに SIGCONT シグナルを送る時も sentinel は呼ばれます。
Function: set-process-sentinel process sentinel
この関数は、 process に sentinel を対応させます。 sentinel が nil の場合、 このプロセスは sentinel を持たないことになります。 sentinel が存在しない場 合のデフォルトの動きは、プロセスのバッファにメッセージを挿入することになり ます。
(defun msg-me (process signal) (princ (format "Process: %s received the msg: %s" process signal))) (set-process-sentinel (get-process "shell") 'msg-me) => msg-me (kill-process (get-process "shell")) -> Process: $<process shell> received the msg: killed => #<process shell>
Function: process-sentinel process
この関数は、 process の sentinel か (sentinel を持たない場合) nil を返しま す。