Process Hierarchy

Whilst the operating system can run many processes at the same time, in fact it only ever directly starts one process called the init (short for initial) process. This isn't a particularly special process except that it's PID is always 0 and it will always be running.

All other processes can be considered children of this initial process. Processes have a family tree just like any other; each process has a parent and can have many siblings, which are processes created[1] by the same parent.

Certainly children can create more children and so on and so forth.

Example 5-2. pstree example

init-+-apmd
     |-atd
     |-cron
     ...
     |-dhclient
     |-firefox-bin-+-firefox-bin---2*[firefox-bin]
     |             |-java_vm---java_vm---13*[java_vm]
     |             `-swf_play

Notes

[1]

The term spawn is often used when talking about parent processes creating children; as in "the process spawned a child".