File: process_management_and_interprocess_communication.rst

package info (click to toggle)
firefox 149.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,767,760 kB
  • sloc: cpp: 7,416,064; javascript: 6,752,859; ansic: 3,774,850; python: 1,250,473; xml: 641,578; asm: 439,191; java: 186,617; sh: 56,634; makefile: 18,856; objc: 13,092; perl: 12,763; pascal: 5,960; yacc: 4,583; cs: 3,846; lex: 1,720; ruby: 1,002; php: 436; lisp: 258; awk: 105; sql: 66; sed: 53; csh: 10; exp: 6
file content (64 lines) | stat: -rw-r--r-- 1,917 bytes parent folder | download
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`
 - ``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``