Next: , Previous: , Up: Processes   [Contents][Index]


57.4 Deleting Processes

Deleting a process disconnects SXEmacs immediately from the subprocess, and removes it from the list of active processes. It sends a signal to the subprocess to make the subprocess terminate, but this is not guaranteed to happen immediately. The process object itself continues to exist as long as other Lisp objects point to it.

You can delete a process explicitly at any time. Processes are deleted automatically after they terminate, but not necessarily right away. If you delete a terminated process explicitly before it is deleted automatically, no harm results.

Variable: delete-exited-processes

This variable controls automatic deletion of processes that have terminated (due to calling exit or to a signal). If it is nil, then they continue to exist until the user runs list-processes. Otherwise, they are deleted immediately after they exit.

Function: delete-process name

This function deletes the process associated with name, killing it with a SIGHUP signal. The argument name may be a process, the name of a process, a buffer, or the name of a buffer.

(delete-process "*shell*")
     ⇒ nil
Function: process-kill-without-query process &optional require-query-p

This function declares that SXEmacs need not query the user if process is still running when SXEmacs is exited. The process will be deleted silently. If require-query-p is non-nil, then SXEmacs will query the user (this is the default). The return value is t if a query was formerly required, and nil otherwise.

(process-kill-without-query (get-process "shell"))
     ⇒ t