summaryrefslogtreecommitdiffstats
path: root/docs/nspr/reference/process_management_and_interprocess_communication.rst
blob: c508c7362c9b4a3e9622c21b7d24c8cdee0aa841 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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`
 - :ref:`PR_ResetProcessAttr`
 - :ref:`PR_DestroyProcessAttr`
 - :ref:`PR_ProcessAttrSetStdioRedirect`
 - :ref:`PR_ProcessAttrSetCurrentDirectory`
 - :ref:`PR_ProcessAttrSetInheritableFD`

.. _Creating_and_Managing_Processes:

Creating and Managing Processes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The functions that create and manage processes are:

 - :ref:`PR_CreateProcess`
 - :ref:`PR_DetachProcess`
 - :ref:`PR_WaitProcess`
 - :ref:`PR_KillProcess`