The Process IDProcess ID AllocationThe Process Hierarchypid_tObtaining the Process ID and Parent Process IDRunning a New ProcessThe Exec Family of CallsThe rest of the familyError valuesThe fork( ) System CallCopy-on-writevfork( )Terminating a ProcessOther Ways to Terminateatexit( )on_exit( )SIGCHLDWaiting for Terminated Child ProcessesWaiting for a Specific ProcessEven More Waiting VersatilityBSD Wants to Play: wait3( ) and wait4( )Launching and Waiting for a New ProcessZombiesUsers and GroupsReal, Effective, and Saved User and Group IDsChanging the Real or Saved User or Group IDChanging the Effective User or Group IDChanging the User and Group IDs, BSD StyleChanging the User and Group IDs, HP-UX StylePreferred User/Group ID ManipulationsSupport for Saved User IDsObtaining the User and Group IDsSessions and Process GroupsSession System CallsProcess Group System CallsObsolete Process Group FunctionsDaemonsConclusion