Source code

Revision control

Copy as Markdown

Other Tools

# Process Management And Interprocess Communication
This chapter describes the NSPR routines that deal with processes. A
process is an instance of a program. NSPR provides routines to create a
new process and to wait for the termination of another process.
NSPR does not provide an equivalent of the Unix `fork()`. The
newly-created process executes its program from the beginning. A new
process can inherit specified file descriptors from its parent, and the
parent can redirect the standard I/O streams of the child process to
specified file descriptors.
Note that the functions described in this chapter are not available for
MacOS or Win16 operating systems.
(process-management-types-and-constants)=
## Process Management Types and Constants
The types defined for process management are:
> - {ref}`PRProcess`
> - {ref}`PRProcessAttr`
(process-management-functions)=
## Process Management Functions
The process manipulation function fall into these categories:
- [Setting the Attributes of a New
Process](#Setting_the_Attributes_of_a_New_Process)
- [Creating and Managing
Processes](#Creating_and_Managing_Processes)
(setting-the-attributes-of-a-new-process)=
### Setting the Attributes of a New Process
The functions that create and manipulate attribute sets of new processes
are:
> - {ref}`PR_NewProcessAttr`
> - `PR_ResetProcessAttr`
> - `PR_DestroyProcessAttr`
> - `PR_ProcessAttrSetStdioRedirect`
> - `PR_ProcessAttrSetCurrentDirectory`
> - `PR_ProcessAttrSetInheritableFD`
(creating-and-managing-processes)=
### Creating and Managing Processes
The functions that create and manage processes are:
> - `PR_CreateProcess`
> - `PR_DetachProcess`
> - `PR_WaitProcess`
> - `PR_KillProcess`