next up previous
Next: Environments Up: Overview Previous: Kernel

Processes

The basic execution unit is a process. It is a particular instantiation of a program by a user. Under Linux-ish systems and unlike many others, more than one instantiation of a program may exist. Processes may spawn other processes. When this occurs, the initiating program becomes the parent of the spawned process. When a Linux system boots, the init program is started. It, in turn, starts all other processes on the system (kswapd, syslogd, X, etc.). When a user logs in, a new process is started for the login shell. When a command is typed in, the shell spawns a new process to run that command. The following shows an excerpt of processes running on my machine using a home-grown perl script:

$ ptree
init (S, pid=1)
  |-kflushd (S, pid=2)
  |-kswapd (S, pid=3)
  |-xdm (S, pid=114)
    |-X (S, pid=120)
    |-xdm (S, pid=121)
      |-.xsession (S, pid=132)
        |-fvwm2 (S, pid=217)
  |-emacs (S, pid=24159)
  |-xmcd (S, pid=12813)



Reece Kimball Hart
1998-03-18