next up previous contents
Next: Virtual Memory Up: Process Management Previous: Listing users

Listing processes

Although the computer seems to be running many processes simultaneously, it actually only cleverly divides its time between all the processes. The user however is always told that there are many processes running simultaneously and it intuitively seems this way when using the system.

To see which processes are currently running on a UNIX system we can use the ps command. It works slightly different on all systems, but mostly using the command without any flags will list your own processes:

$ps
  PID TTY STAT  TIME COMMAND
  107 pp1 S N   0:00 bash
  260 pp1 R N   0:00 ps
$

The listing includes the PID or Process Identification, the output device it is associated with, the status, the real processor time used and finally the program name. The status in this case includes the flags S for stopped while ps is R for running and N means a process has a priority which is nice to other processes.

If we want to see all users' normal processes we can use the 'a' flag for ps. As all processes are then displayed there is no way of telling whose' processes they are. We can use the 'u' flag to give us more information:

$ps au
USER       PID %CPU %MEM SIZE  RSS TTY STAT START   TIME COMMAND
asti        69  0.0  0.0 1180    0 v06 SWN  20:32   0:00 (bash)
jasonw      68  0.0  4.2 1200  288 v05 S N  20:32   0:00 -bash
markst     107  0.0  5.9 1212  400 pp1 S N  20:32   0:00 bash
markst     108  0.0  5.6 1208  380 pp2 S N  20:32   0:00 bash
markst     156  0.0 23.3 3820 1568 pp1 S N  20:44   0:01 emacs part3.tex
markst     312  0.0  3.2  880  216 pp2 R N  21:14   0:00 ps au
root        67  0.0  1.1  860   80 s00 S N  20:32   0:00 gpm -t ms
$



Mark O. Stitson
Wed Sep 25 10:45:32 BST 1996