To create a new process, use
A process can exit either by returning from the process function or by calling current-process-kill.
The system initializes a number of processes on startup. These processes are specified by
The current process is obtained by
get-current-process. A list of all the current processes is returned by
list-all-processes and the number of them is returned by
processes-count. The function
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
get-process. To find the name, when you have the process, use
process-name. The variable
*process-initial-bindings* specifies the variables that are initially bound in a process.
To start multiprocessing, use
initialize-multiprocessing. This function does not return until multiprocessing has terminated.
It is not necessary to use initialize-multiprocessing when the LispWorks environment is already running. Note that, on Windows, Mac OS X, Linux, x86/x64 Solaris and FreeBSD, the LispWorks images shipped do start the programming environment. If you create an image which does not start the programming environment, by using the
:environment nil argument to save-image, then multiprocessing can be started in this new image as described below.
3. Use delivery to create the executable and pass the argument
:multiprocessing t to deliver. The delivery function will be called automatically in a new process. See the
LispWorks Delivery User Guide
for more details.
LispWorks dynamic libraries always start multiprocessing on startup. See Multiprocessing in a dynamic library for more information.
See save-image for a description of how to save an image.
LispWorks User Guide and Reference Manual - 13 Feb 2015