The system initializes a number of processes on startup. These processes are specified by mp:*initial-processes*
.
The current process is specified by mp:*current-process*
. A list of all the current processes is returned by mp:list-all-processes
. The function mp:ps
is analogous to the UNIX command ps
, and returns a list of the processes in the system, ordered by priority.
To find a process when you know its name, use mp:find-process-from-name
. To find the name, when you have the process, use mp:process-name
. The variable mp:*process-initial-bindings*
specifies the variables that are initially bound in a process.
When a process has stopped, you can find a list of reasons why by calling mp:process-arrest-reasons
. To obtain a list of the reasons why a process is running, call mp:process-run-reasons
. Both these lists can be changed using setf
, though it is not normally necessary to add arrest reasons. To find the priority of a process, use mp:process-priority
. This can be changed using mp:change-process-priority
.