(libc.info.gz) Process Creation Concepts

Info Catalog (libc.info.gz) Running a Command (libc.info.gz) Processes (libc.info.gz) Process Identification
 
 26.2 Process Creation Concepts
 ==============================
 
 This section gives an overview of processes and of the steps involved in
 creating a process and making it run another program.
 
    Each process is named by a "process ID" number.  A unique process ID
 is allocated to each process when it is created.  The "lifetime" of a
 process ends when its termination is reported to its parent process; at
 that time, all of the process resources, including its process ID, are
 freed.
 
    Processes are created with the 'fork' system call (so the operation
 of creating a new process is sometimes called "forking" a process).  The
 "child process" created by 'fork' is a copy of the original "parent
 process", except that it has its own process ID.
 
    After forking a child process, both the parent and child processes
 continue to execute normally.  If you want your program to wait for a
 child process to finish executing before continuing, you must do this
 explicitly after the fork operation, by calling 'wait' or 'waitpid'
 ( Process Completion).  These functions give you limited
 information about why the child terminated--for example, its exit status
 code.
 
    A newly forked child process continues to execute the same program as
 its parent process, at the point where the 'fork' call returns.  You can
 use the return value from 'fork' to tell whether the program is running
 in the parent process or the child.
 
    Having several processes run the same program is only occasionally
 useful.  But the child can execute another program using one of the
 'exec' functions; see  Executing a File.  The program that the
 process is executing is called its "process image".  Starting execution
 of a new program causes the process to forget all about its previous
 process image; when the new program exits, the process exits too,
 instead of returning to the previous process image.
 
Info Catalog (libc.info.gz) Running a Command (libc.info.gz) Processes (libc.info.gz) Process Identification
automatically generated by info2html