Process Management

A process is a binary file that is loaded into memory and executed. When the file is loaded it needs the operating system to supply it with information such that it can execute correctly. Collectively, this information is refered to as the process environment and includes:

  • A unique process ID (PID),
  • The Parent PID (PPID),
  • A User ID (UID),
  • A Groupe ID (GID),
  • Processing time,
  • The process priority,
  • The current working directory,
  • A list of open files.

This information is stored in /proc:

[trainee@centos ~]$ cd /proc; ls -d [0-9]*
1     1340  1501  1743  1819  1924  2058  2118  2141  2385  2558  3    69
10    1373  1563  1760  1820  1934  2081  2122  2144  2387  2574  30   7
11    1377  1572  1768  1824  194   2089  2123  2146  24    26    31   8
1167  1392  16    1776  1827  1944  2094  2127  2149  241   2622  332  898
12    14    161   1787  1837  1952  21    2128  2198  242   2623  36   899
1209  1417  163   1799  1839  1953  2100  2129  22    2427  2624  38   9
13    1426  1647  18    1857  2     2106  2130  2214  2466  2657  39   999
1304  1427  1655  1807  1863  20    2107  2131  2216  2467  27    4
1315  1458  17    1812  19    2038  2110  2132  2217  2476  2767  479
1319  1481  1736  1814  1912  2047  2111  2133  23    25    28    5
1338  15    1742  1818  1918  2052  2113  2137  2383  251   29    6

Each directory has as a name the PID of the process it refers to. Looking into one of the directories, you can see the process environment information:

[trainee@centos proc]$ su -
Password: 
[root@centos 1]# cd /proc/1 ; ls -l
total 0
dr-xr-xr-x. 2 root root 0 Dec  4 12:58 attr
-rw-r--r--. 1 root root 0 Dec  4 12:58 autogroup
-r--------. 1 root root 0 Dec  4 12:58 auxv
-r--r--r--. 1 root root 0 Dec  4 12:58 cgroup
--w-------. 1 root root 0 Dec  4 12:58 clear_refs
-r--r--r--. 1 root root 0 Dec  4 12:05 cmdline
-rw-r--r--. 1 root root 0 Dec  4 12:58 coredump_filter
-r--r--r--. 1 root root 0 Dec  4 12:58 cpuset
lrwxrwxrwx. 1 root root 0 Dec  4 12:58 cwd -> /
-r--------. 1 root root 0 Dec  4 12:58 environ
lrwxrwxrwx. 1 root root 0 Dec  4 12:05 exe -> /sbin/init
dr-x------. 2 root root 0 Dec  4 12:05 fd
dr-x------. 2 root root 0 Dec  4 12:58 fdinfo
-r--------. 1 root root 0 Dec  4 12:58 io
-rw-------. 1 root root 0 Dec  4 12:58 limits
-rw-r--r--. 1 root root 0 Dec  4 12:58 loginuid
-r--r--r--. 1 root root 0 Dec  4 12:58 maps
-rw-------. 1 root root 0 Dec  4 12:58 mem
-r--r--r--. 1 root root 0 Dec  4 12:58 mountinfo
-r--r--r--. 1 root root 0 Dec  4 12:58 mounts
-r--------. 1 root root 0 Dec  4 12:58 mountstats
dr-xr-xr-x. 7 root root 0 Dec  4 12:58 net
-rw-r--r--. 1 root root 0 Dec  4 12:58 oom_adj
-r--r--r--. 1 root root 0 Dec  4 12:58 oom_score
-rw-r--r--. 1 root root 0 Dec  4 12:58 oom_score_adj
-r--r--r--. 1 root root 0 Dec  4 12:58 pagemap
-r--r--r--. 1 root root 0 Dec  4 12:58 personality
lrwxrwxrwx. 1 root root 0 Dec  4 12:58 root -> /
-rw-r--r--. 1 root root 0 Dec  4 12:58 sched
-r--r--r--. 1 root root 0 Dec  4 12:58 schedstat
-r--r--r--. 1 root root 0 Dec  4 12:58 sessionid
-r--r--r--. 1 root root 0 Dec  4 12:58 smaps
-r--r--r--. 1 root root 0 Dec  4 12:58 stack
-r--r--r--. 1 root root 0 Dec  4 12:05 stat
-r--r--r--. 1 root root 0 Dec  4 12:58 statm
-r--r--r--. 1 root root 0 Dec  4 12:06 status
-r--r--r--. 1 root root 0 Dec  4 12:58 syscall
dr-xr-xr-x. 3 root root 0 Dec  4 12:58 task
-r--r--r--. 1 root root 0 Dec  4 12:58 wchan

<note important> Note that the content of the files is of no use to a System Administrator so just cd to /root before continuing further. </note>

Process Types

There are three types of processes:

  • interactive - processes generated by typing a command in a terminal,
  • batch - processes generated by the system itself,
  • daemon - processes that do not have a parent terminal.

A process can be in any one of 9 process states:

  • user mode - the process is executing in user mode,
  • kernel mode- the process is executing in kernel mode,
  • sleeping - the process is sleeping,
  • swap - the process is sleeping in swap,
  • new - the process is new,
  • waiting – the process is waiting for a ressource other than the processor,
  • runnable – the process has all the ressources it requires except the processor itself,
  • elected – the process is in the processor,
  • zombie – the process has terminated and is waiting to be killed by the system.

Process Commands

The ps Command

The output from this command shows the processes attached to the current terminal:

[root@centos 1]# cd ~
[root@centos ~]# ps
  PID TTY          TIME CMD
 3159 pts/0    00:00:00 su
 3167 pts/0    00:00:00 bash
 3337 pts/0    00:00:00 ps

You can get more details by using the -l switch:

[root@centos ~]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0  3159  2624  0  80   0 -  2133 -      pts/0    00:00:00 su
4 S     0  3167  3159  0  80   0 -  1282 -      pts/0    00:00:00 bash
4 R     0  3343  3167  2  80   0 -  1219 -      pts/0    00:00:00 ps

This output shows some usefull information:

F Process flag. The value of 4 means the process is using root privileges.
S The process state - S (sleeping), R (In run queue), Z (zombie), N (low priority), D (uninterruptible sleep), T (Traced)
UID User ID of the user who has stated the process
PID Process ID
PPID Parent PID
PRI Process priority
NI Process nice value
TTY Name of the terminal in which the process was started
TIME Processing time
CMD The command that generated the process

To see the process table, use the l and x switches:

[root@centos ~]# ps lx
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4     0     1     0  20   0   2900  1432 -      Ss   ?          0:02 /sbin/init
1     0     2     0  20   0      0     0 -      S    ?          0:00 [kthreadd]
1     0     3     2 -100  -      0     0 -      S    ?          0:00 [migration]
1     0     4     2  20   0      0     0 -      S    ?          0:02 [ksoftirqd]
1     0     5     2 -100  -      0     0 -      S    ?          0:00 [migration]
5     0     6     2 -100  -      0     0 -      S    ?          0:00 [watchdog/]
1     0     7     2  20   0      0     0 -      S    ?          0:15 [events/0]
1     0     8     2  20   0      0     0 -      S    ?          0:00 [cgroup]
1     0     9     2  20   0      0     0 -      S    ?          0:00 [khelper]
1     0    10     2  20   0      0     0 -      S    ?          0:00 [netns]
1     0    11     2  20   0      0     0 -      S    ?          0:00 [async/mgr]
1     0    12     2  20   0      0     0 -      S    ?          0:00 [pm]
1     0    13     2  20   0      0     0 -      S    ?          0:00 [sync_supe]
1     0    14     2  20   0      0     0 -      S    ?          0:00 [bdi-defau]
1     0    15     2  20   0      0     0 -      S    ?          0:00 [kintegrit]
1     0    16     2  20   0      0     0 -      S    ?          0:03 [kblockd/0]
1     0    17     2  20   0      0     0 -      S    ?          0:00 [kacpid]
1     0    18     2  20   0      0     0 -      S    ?          0:00 [kacpi_not]
1     0    19     2  20   0      0     0 -      S    ?          0:00 [kacpi_hot]
1     0    20     2  20   0      0     0 -      S    ?          0:19 [ata/0]
1     0    21     2  20   0      0     0 -      S    ?          0:00 [ata_aux]
1     0    22     2  20   0      0     0 -      S    ?          0:00 [ksuspend_]
1     0    23     2  20   0      0     0 -      S    ?          0:00 [khubd]
5     0    24     2  20   0      0     0 -      S    ?          0:00 [kseriod]
1     0    25     2  20   0      0     0 -      S    ?          0:00 [md/0]
1     0    26     2  20   0      0     0 -      S    ?          0:00 [md_misc/0]
1     0    27     2  20   0      0     0 -      S    ?          0:00 [khungtask]
1     0    28     2  20   0      0     0 -      S    ?          0:00 [kswapd0]
1     0    29     2  25   5      0     0 -      SN   ?          0:00 [ksmd]
1     0    30     2  20   0      0     0 -      S    ?          0:00 [aio/0]
1     0    31     2  20   0      0     0 -      S    ?          0:00 [crypto/0]
1     0    36     2  20   0      0     0 -      S    ?          0:00 [kthrotld/]
1     0    38     2  20   0      0     0 -      S    ?          0:00 [kpsmoused]
1     0    39     2  20   0      0     0 -      S    ?          0:00 [usbhid_re]
1     0    69     2  20   0      0     0 -      S    ?          0:00 [kstriped]
1     0   161     2  20   0      0     0 -      S    ?          0:00 [scsi_eh_0]
1     0   163     2  20   0      0     0 -      S    ?          0:17 [scsi_eh_1]
1     0   194     2  20   0      0     0 -      S    ?          0:00 [scsi_eh_2]
1     0   241     2  20   0      0     0 -      S    ?          0:01 [jbd2/sda2]
1     0   242     2  20   0      0     0 -      S    ?          0:00 [ext4-dio-]
1     0   251     2  20   0      0     0 -      S    ?          0:01 [flush-8:0]
5     0   332     1  16  -4   2864  1140 -      S<s  ?          0:00 /sbin/udevd
1     0   479     2  20   0      0     0 -      S    ?          0:00 [iprt/0]
1     0   898     2  20   0      0     0 -      S    ?          0:00 [jbd2/sda1]
1     0   899     2  20   0      0     0 -      S    ?          0:00 [ext4-dio-]
1     0   999     2  20   0      0     0 -      S    ?          0:00 [kauditd]
5     0  1167     1  20   0  35976  1492 -      Sl   ?          0:00 /sbin/rsysl
5     0  1315     1  20   0  20152  4060 -      Ssl  ?          0:00 NetworkMana
4     0  1319     1  20   0   4592  2136 -      S    ?          0:00 /usr/sbin/m
1     0  1340     1  20   0   7312   632 -      Ss   ?          0:00 /usr/sbin/w
1     0  1373     2  20   0      0     0 -      S    ?          0:00 [rpciod/0]
1     0  1377     1  20   0   3532   496 -      Ss   ?          0:00 rpc.idmapd
4     0  1392     1  20   0  12100  2896 -      Ss   ?          0:00 cupsd -C /e
1     0  1417     1  20   0   2020   588 -      Ss   ?          0:00 /usr/sbin/a
0     0  1427  1426  20   0   3784  1108 -      S    ?          0:00 hald-runner
0     0  1458  1427  20   0   3860  1140 -      S    ?          0:50 hald-addon-
5     0  1501     1  20   0  28984  1584 -      Ssl  ?          0:01 automount -
1     0  1563     1  20   0  11912  1408 -      Sl   ?          0:27 /usr/sbin/V
4     0  1572     1  20   0  21972  2848 -      Sl   ?          0:07 /usr/sbin/c
5     0  1647     1  20   0   8640   980 -      Ss   ?          0:00 /usr/sbin/s
4     0  1736     1  20   0  13192  2664 -      Ss   ?          0:00 /usr/libexe
1     0  1760     1  20   0   5168   828 -      Ss   ?          0:00 /usr/sbin/a
0     0  1768     1  20   0   5100   804 -      Ss   ?          0:00 abrt-dump-o
5     0  1776     1  20   0   5956  1280 -      Ss   ?          0:04 crond
5     0  1787     1  20   0   2944   492 -      Ss   ?          0:00 /usr/sbin/a
1     0  1799     1  20   0   8476   560 -      Ss   ?          0:00 /usr/sbin/c
4     0  1807     1  20   0   6108  2004 -      Ss   ?          0:00 /usr/sbin/g
4     0  1812     1  20   0   2008   476 -      Ss+  tty2       0:00 /sbin/minge
4     0  1814     1  20   0   2008   476 -      Ss+  tty3       0:00 /sbin/minge
4     0  1818     1  20   0   2008   480 -      Ss+  tty4       0:00 /sbin/minge
5     0  1819   332  18  -2   3520  1956 -      S<   ?          0:00 /sbin/udevd
5     0  1820   332  18  -2   3520  1960 -      S<   ?          0:00 /sbin/udevd
4     0  1824     1  20   0   2008   472 -      Ss+  tty5       0:00 /sbin/minge
4     0  1827     1  20   0   2008   476 -      Ss+  tty6       0:00 /sbin/minge
4     0  1837  1807  20   0   9928  3148 -      S    ?          0:00 /usr/libexe
4     0  1839  1837  20   0  53952 39864 -      Rs+  tty1       4:14 /usr/bin/Xo
4     0  1863     1  20   0   5848  2560 -      S    ?          0:00 /usr/libexe
4     0  1912     1  20   0   6632  3604 -      S    ?          0:00 /usr/libexe
4     0  1924  1837  20   0   8380  2840 -      S    ?          0:00 pam: gdm-pa
4     0  2127     1  20   0   5780  2556 -      S    ?          0:00 /usr/libexe
1     0  2132  2127  20   0   5568   536 -      S    ?          0:17 udisks-daem
4     0  2387  1315  20   0   2836  1276 -      S    ?          0:00 /sbin/dhcli
4     0  3159  2624  20   0   8532  3608 -      S    pts/0      0:00 su -
4     0  3167  3159  20   0   5128  1660 -      S    pts/0      0:00 -bash
4     0  4646  3167  20   0   4876   904 -      R+   pts/0      0:00 ps lx

This output provides further usefull information:

RSS Memory in KB used by the process

Using the a, u and x switches you obtain the following output:

[root@centos ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2900  1432 ?        Ss   12:05   0:02 /sbin/init
root         2  0.0  0.0      0     0 ?        S    12:05   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    12:05   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    12:05   0:02 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    12:05   0:00 [migration/0]
root         6  0.0  0.0      0     0 ?        S    12:05   0:00 [watchdog/0]
root         7  0.1  0.0      0     0 ?        S    12:05   0:16 [events/0]
root         8  0.0  0.0      0     0 ?        S    12:05   0:00 [cgroup]
root         9  0.0  0.0      0     0 ?        S    12:05   0:00 [khelper]
root        10  0.0  0.0      0     0 ?        S    12:05   0:00 [netns]
root        11  0.0  0.0      0     0 ?        S    12:05   0:00 [async/mgr]
root        12  0.0  0.0      0     0 ?        S    12:05   0:00 [pm]
root        13  0.0  0.0      0     0 ?        S    12:05   0:00 [sync_supers]
root        14  0.0  0.0      0     0 ?        S    12:05   0:00 [bdi-default]
root        15  0.0  0.0      0     0 ?        S    12:05   0:00 [kintegrityd/0]
root        16  0.0  0.0      0     0 ?        S    12:05   0:03 [kblockd/0]
root        17  0.0  0.0      0     0 ?        S    12:05   0:00 [kacpid]
root        18  0.0  0.0      0     0 ?        S    12:05   0:00 [kacpi_notify]
root        19  0.0  0.0      0     0 ?        S    12:05   0:00 [kacpi_hotplug]
root        20  0.1  0.0      0     0 ?        S    12:05   0:20 [ata/0]
root        21  0.0  0.0      0     0 ?        S    12:05   0:00 [ata_aux]
root        22  0.0  0.0      0     0 ?        S    12:05   0:00 [ksuspend_usbd]
root        23  0.0  0.0      0     0 ?        S    12:05   0:00 [khubd]
root        24  0.0  0.0      0     0 ?        S    12:05   0:00 [kseriod]
root        25  0.0  0.0      0     0 ?        S    12:05   0:00 [md/0]
root        26  0.0  0.0      0     0 ?        S    12:05   0:00 [md_misc/0]
root        27  0.0  0.0      0     0 ?        S    12:05   0:00 [khungtaskd]
root        28  0.0  0.0      0     0 ?        S    12:05   0:00 [kswapd0]
root        29  0.0  0.0      0     0 ?        SN   12:05   0:00 [ksmd]
root        30  0.0  0.0      0     0 ?        S    12:05   0:00 [aio/0]
root        31  0.0  0.0      0     0 ?        S    12:05   0:00 [crypto/0]
root        36  0.0  0.0      0     0 ?        S    12:05   0:00 [kthrotld/0]
root        38  0.0  0.0      0     0 ?        S    12:05   0:00 [kpsmoused]
root        39  0.0  0.0      0     0 ?        S    12:05   0:00 [usbhid_resume]
root        69  0.0  0.0      0     0 ?        S    12:05   0:00 [kstriped]
root       161  0.0  0.0      0     0 ?        S    12:05   0:00 [scsi_eh_0]
root       163  0.1  0.0      0     0 ?        S    12:05   0:17 [scsi_eh_1]
root       194  0.0  0.0      0     0 ?        S    12:05   0:00 [scsi_eh_2]
root       241  0.0  0.0      0     0 ?        S    12:05   0:01 [jbd2/sda2-8]
root       242  0.0  0.0      0     0 ?        S    12:05   0:00 [ext4-dio-unwr]
root       251  0.0  0.0      0     0 ?        S    12:05   0:01 [flush-8:0]
root       332  0.0  0.0   2864  1140 ?        S<s  12:05   0:00 /sbin/udevd -d
root       479  0.0  0.0      0     0 ?        S    12:05   0:00 [iprt/0]
root       898  0.0  0.0      0     0 ?        S    12:06   0:00 [jbd2/sda1-8]
root       899  0.0  0.0      0     0 ?        S    12:06   0:00 [ext4-dio-unwr]
root       999  0.0  0.0      0     0 ?        S    12:06   0:00 [kauditd]
root      1167  0.0  0.0  35976  1492 ?        Sl   12:06   0:00 /sbin/rsyslogd
rpc       1209  0.0  0.0   2576   848 ?        Ss   12:06   0:00 rpcbind
dbus      1304  0.1  0.1  13776  1748 ?        Ssl  12:06   0:16 dbus-daemon --s
root      1315  0.0  0.2  20152  4060 ?        Ssl  12:06   0:00 NetworkManager
root      1319  0.0  0.1   4592  2136 ?        S    12:06   0:00 /usr/sbin/modem
rpcuser   1338  0.0  0.0   2840  1252 ?        Ss   12:06   0:00 rpc.statd
root      1340  0.0  0.0   7312   632 ?        Ss   12:06   0:00 /usr/sbin/wpa_s
root      1373  0.0  0.0      0     0 ?        S    12:06   0:00 [rpciod/0]
root      1377  0.0  0.0   3532   496 ?        Ss   12:06   0:00 rpc.idmapd
root      1392  0.0  0.1  12100  2896 ?        Ss   12:06   0:00 cupsd -C /etc/c
root      1417  0.0  0.0   2020   588 ?        Ss   12:06   0:00 /usr/sbin/acpid
68        1426  0.0  0.2   6820  4284 ?        Ss   12:06   0:03 hald
root      1427  0.0  0.0   3784  1108 ?        S    12:06   0:00 hald-runner
root      1458  0.4  0.0   3860  1140 ?        S    12:06   0:53 hald-addon-inpu
68        1481  0.0  0.0   3504  1012 ?        S    12:06   0:00 hald-addon-acpi
root      1501  0.0  0.0  28984  1584 ?        Ssl  12:06   0:01 automount --pid
root      1563  0.2  0.0  11912  1408 ?        Sl   12:06   0:28 /usr/sbin/VBoxS
root      1572  0.0  0.1  21972  2848 ?        Sl   12:06   0:08 /usr/sbin/conso
root      1647  0.0  0.0   8640   980 ?        Ss   12:06   0:00 /usr/sbin/sshd
ntp       1655  0.0  0.0   5140  1432 ?        Ss   12:06   0:00 ntpd -u ntp:ntp
root      1736  0.0  0.1  13192  2664 ?        Ss   12:06   0:00 /usr/libexec/po
postfix   1743  0.0  0.1  13336  2780 ?        S    12:06   0:00 qmgr -l -t fifo
root      1760  0.0  0.0   5168   828 ?        Ss   12:06   0:00 /usr/sbin/abrtd
root      1768  0.0  0.0   5100   804 ?        Ss   12:06   0:00 abrt-dump-oops
root      1776  0.0  0.0   5956  1280 ?        Ss   12:06   0:04 crond
root      1787  0.0  0.0   2944   492 ?        Ss   12:06   0:00 /usr/sbin/atd
root      1799  0.0  0.0   8476   560 ?        Ss   12:06   0:00 /usr/sbin/certm
root      1807  0.0  0.1   6108  2004 ?        Ss   12:06   0:00 /usr/sbin/gdm-b
root      1812  0.0  0.0   2008   476 tty2     Ss+  12:06   0:00 /sbin/mingetty
root      1814  0.0  0.0   2008   476 tty3     Ss+  12:06   0:00 /sbin/mingetty
root      1818  0.0  0.0   2008   480 tty4     Ss+  12:06   0:00 /sbin/mingetty
root      1819  0.0  0.1   3520  1956 ?        S<   12:06   0:00 /sbin/udevd -d
root      1820  0.0  0.1   3520  1960 ?        S<   12:06   0:00 /sbin/udevd -d
root      1824  0.0  0.0   2008   472 tty5     Ss+  12:06   0:00 /sbin/mingetty
root      1827  0.0  0.0   2008   476 tty6     Ss+  12:06   0:00 /sbin/mingetty
root      1837  0.0  0.1   9928  3148 ?        S    12:06   0:00 /usr/libexec/gd
root      1839  2.2  2.3  53952 39632 tty1     Rs+  12:06   4:33 /usr/bin/Xorg :
gdm       1857  0.0  0.0   3628   772 ?        S    12:06   0:00 /usr/bin/dbus-l
root      1863  0.0  0.1   5848  2560 ?        S    12:07   0:00 /usr/libexec/de
root      1912  0.0  0.2   6632  3604 ?        S    12:07   0:00 /usr/libexec/po
rtkit     1918  0.0  0.0  25104  1152 ?        SNl  12:07   0:04 /usr/libexec/rt
root      1924  0.0  0.1   8380  2840 ?        S    12:07   0:00 pam: gdm-passwo
trainee   1934  0.0  0.2  38968  3396 ?        Sl   12:07   0:00 /usr/bin/gnome-
trainee   1944  0.0  0.3  30312  6480 ?        Ssl  12:07   0:01 gnome-session
trainee   1952  0.0  0.0   3628   640 ?        S    12:07   0:00 dbus-launch --s
trainee   1953  0.0  0.0  13640  1476 ?        Ssl  12:07   0:00 /bin/dbus-daemo
trainee   2038  0.0  0.1   8920  1800 ?        Sl   12:07   0:00 /usr/bin/VBoxCl
trainee   2047  0.0  0.0   8972  1564 ?        Sl   12:07   0:00 /usr/bin/VBoxCl
trainee   2052  0.0  0.0   7888  1196 ?        Sl   12:07   0:00 /usr/bin/VBoxCl
trainee   2058  1.6  0.0   9568  1520 ?        Sl   12:07   3:16 /usr/bin/VBoxCl
trainee   2081  0.0  0.2   7920  3532 ?        S    12:07   0:01 /usr/libexec/gc
trainee   2089  0.0  0.5 125348  9304 ?        Ssl  12:07   0:09 /usr/libexec/gn
trainee   2094  0.0  0.1   7072  2036 ?        S    12:07   0:00 /usr/libexec/gv
trainee   2100  0.0  0.6 101604 10964 ?        Sl   12:07   0:10 metacity
trainee   2106  0.0  0.2 102420  4648 ?        S<sl 12:07   0:02 /usr/bin/pulsea
trainee   2107  0.0  0.7  45000 13228 ?        S    12:07   0:05 gnome-panel
trainee   2110  0.0  0.1  11756  2776 ?        S    12:07   0:00 /usr/libexec/pu
trainee   2111  0.0  1.0  78928 17220 ?        S    12:07   0:11 nautilus
trainee   2113  0.0  0.1  41680  2884 ?        Ssl  12:07   0:00 /usr/libexec/bo
trainee   2118  0.0  0.7  44152 11836 ?        S    12:07   0:05 /usr/libexec/wn
trainee   2122  0.0  0.5  42068  9460 ?        S    12:07   0:00 /usr/libexec/tr
trainee   2123  0.0  0.1   7964  2848 ?        S    12:07   0:00 /usr/libexec/gv
root      2127  0.0  0.1   5780  2556 ?        S    12:07   0:00 /usr/libexec/ud
trainee   2128  0.0  0.7  56216 12348 ?        S    12:07   0:00 nm-applet --sm-
trainee   2129  0.0  0.1   5772  3308 ?        S    12:07   0:00 /usr/sbin/resto
trainee   2130  0.0  0.8  31840 14264 ?        S    12:07   0:00 python /usr/sha
trainee   2131  0.0  0.3  18952  5284 ?        S    12:07   0:00 abrt-applet
root      2132  0.1  0.0   5568   536 ?        S    12:07   0:17 udisks-daemon: 
trainee   2133  0.0  0.3  19196  5516 ?        S    12:07   0:00 /usr/libexec/po
trainee   2137  0.0  0.6 106920 10432 ?        S    12:07   0:00 gnome-volume-co
trainee   2141  0.0  0.2  16024  3940 ?        S    12:07   0:00 /usr/libexec/im
trainee   2144  0.0  0.5  40896  9368 ?        S    12:07   0:00 gpk-update-icon
trainee   2146  0.0  0.5  36232  8712 ?        S    12:07   0:02 gnome-power-man
trainee   2149  0.0  0.1   7556  2720 ?        S    12:07   0:00 /usr/libexec/gv
trainee   2198  0.0  0.3  21076  6548 ?        Ss   12:07   0:05 gnome-screensav
trainee   2214  0.0  0.6  54688 10980 ?        S    12:07   0:00 /usr/libexec/gd
trainee   2216  0.0  0.8  47940 13516 ?        S    12:07   0:02 /usr/libexec/cl
trainee   2217  0.0  0.4  26464  7444 ?        S    12:07   0:00 /usr/libexec/no
trainee   2383  0.0  0.1   5440  2324 ?        S    12:07   0:00 /usr/libexec/gc
trainee   2385  0.0  0.0   6936  1616 ?        S    12:07   0:00 /usr/libexec/gv
root      2387  0.0  0.0   2836  1276 ?        S    12:07   0:00 /sbin/dhclient
trainee   2427  1.0  4.0 478060 68428 ?        Sl   12:08   2:01 /opt/chromium/c
trainee   2466  0.0  0.3 109476  5200 ?        S    12:08   0:00 /opt/chromium/c
trainee   2467  0.0  0.6 134892 11116 ?        S    12:08   0:00 /opt/chromium/c
trainee   2476  0.0  0.1 1069968 3200 ?        S    12:08   0:00 /opt/chromium/n
trainee   2558  0.0  2.1 197536 35748 ?        Sl   12:08   0:02 /opt/chromium/c
trainee   2574  0.4  2.7 208712 46244 ?        Sl   12:08   0:54 /opt/chromium/c
trainee   2622  0.1  0.7  51356 12060 ?        Sl   12:09   0:16 gnome-terminal
trainee   2623  0.0  0.0   2076   616 ?        S    12:09   0:00 gnome-pty-helpe
trainee   2624  0.0  0.0   5240  1660 pts/0    Ss   12:09   0:00 bash
trainee   2657  0.0  2.2 195540 38148 ?        Sl   12:10   0:06 /opt/chromium/c
trainee   2767  0.8  0.9  56428 16300 ?        S    12:19   1:39 gedit /home/tra
root      3159  0.0  0.2   8532  3608 pts/0    S    12:59   0:00 su -
root      3167  0.0  0.0   5128  1660 pts/0    S    12:59   0:00 -bash
postfix   4659  0.0  0.1  13268  2648 ?        S    15:26   0:00 pickup -l -t fi
root      4670  5.0  0.0   4932  1044 pts/0    R+   15:27   0:00 ps aux

This output provides further usefull information:

%CPU % of the processor ressources used by the process
%MEM % of the memory ressources used by the process

Command Line Switches

The command line switches for the ps command are :

[root@centos ~]# ps --help
********* simple selection *********  ********* selection by list *********
-A all processes                      -C by command name
-N negate selection                   -G by real group ID (supports names)
-a all w/ tty except session leaders  -U by real user ID (supports names)
-d all except session leaders         -g by session OR by effective group name
-e all processes                      -p by process ID
T  all processes on this terminal     -s processes in the sessions given
a  all w/ tty, including other users  -t by tty
g  OBSOLETE -- DO NOT USE             -u by effective user ID (supports names)
r  only running processes             U  processes for specified users
x  processes w/o controlling ttys     t  by tty
*********** output format **********  *********** long options ***********
-o,o user-defined  -f full            --Group --User --pid --cols --ppid
-j,j job control   s  signal          --group --user --sid --rows --info
-O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-l,l long          u  user-oriented   --sort --tty --forest --version
-F   extra full    X  registers       --heading --no-heading --context
                    ********* misc options *********
-V,V  show version      L  list format codes  f  ASCII art forest
-m,m,-L,-T,H  threads   S  children in sum    -y change -l format
-M,Z  security data     c  true command name  -c scheduling class
-w,w  wide output       n  numeric WCHAN,UID  -H process hierarchy

The pstree Command

This command shows the processes as a tree:

[root@centos ~]# pstree
init─┬─NetworkManager─┬─dhclient
     │                └─{NetworkManager}
     ├─3*[VBoxClient───{VBoxClient}]
     ├─VBoxClient───2*[{VBoxClient}]
     ├─VBoxService───7*[{VBoxService}]
     ├─abrt-dump-oops
     ├─abrtd
     ├─acpid
     ├─atd
     ├─automount───4*[{automount}]
     ├─bonobo-activati───{bonobo-activat}
     ├─certmonger
     ├─chrome─┬─chrome
     │        ├─chrome─┬─3*[chrome───3*[{chrome}]]
     │        │        └─nacl_helper_boo
     │        └─22*[{chrome}]
     ├─clock-applet
     ├─console-kit-dae───63*[{console-kit-da}]
     ├─crond
     ├─cupsd
     ├─2*[dbus-daemon───{dbus-daemon}]
     ├─2*[dbus-launch]
     ├─devkit-power-da
     ├─gconf-im-settin
     ├─gconfd-2
     ├─gdm-binary───gdm-simple-slav─┬─Xorg
     │                              └─gdm-session-wor───gnome-session─┬─abrt-ap+
     │                                                                ├─gnome-p+
     │                                                                ├─gnome-p+
     │                                                                ├─gnome-v+
     │                                                                ├─gpk-upd+
     │                                                                ├─metacit+
     │                                                                ├─nautilus
     │                                                                ├─nm-appl+
     │                                                                ├─polkit-+
     │                                                                ├─python
     │                                                                ├─restore+
     │                                                                └─{gnome-+
     ├─gdm-user-switch
     ├─gedit
     ├─gnome-keyring-d───2*[{gnome-keyring-}]
     ├─gnome-screensav
     ├─gnome-settings-───{gnome-settings}
     ├─gnome-terminal─┬─bash───su───bash───pstree
     │                ├─gnome-pty-helpe
     │                └─{gnome-terminal}
     ├─gvfs-gdu-volume
     ├─gvfsd
     ├─gvfsd-metadata
     ├─gvfsd-trash
     ├─hald───hald-runner─┬─hald-addon-acpi
     │                    └─hald-addon-inpu
     ├─im-settings-dae
     ├─master─┬─pickup
     │        └─qmgr
     ├─5*[mingetty]
     ├─modem-manager
     ├─notification-ar
     ├─ntpd
     ├─polkitd
     ├─pulseaudio─┬─gconf-helper
     │            └─2*[{pulseaudio}]
     ├─rpc.idmapd
     ├─rpc.statd
     ├─rpcbind
     ├─rsyslogd───3*[{rsyslogd}]
     ├─rtkit-daemon───2*[{rtkit-daemon}]
     ├─sshd
     ├─trashapplet
     ├─udevd───2*[udevd]
     ├─udisks-daemon───udisks-daemon
     ├─wnck-applet
     └─wpa_supplicant

Command Line Switches

The command line switches for the pstree command are :

[root@centos ~]# pstree --help
pstree: invalid option -- '-'
Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]
              [ -A | -G | -U ] [ PID | USER ]
       pstree -V
Display a tree of processes.

    -a     show command line arguments
    -A     use ASCII line drawing characters
    -c     don't compact identical subtrees
    -h     highlight current process and its ancestors
    -H PID highlight this process and its ancestors
    -G     use VT100 line drawing characters
    -l     don't truncate long lines
    -n     sort output by PID
    -p     show PIDs; implies -c
    -u     show uid transitions
    -U     use UTF-8 (Unicode) line drawing characters
    -V     display version information
    -Z     show SELinux security contexts
    PID    start at this PID; default is 1 (init)
    USER   show only trees rooted at processes of this user

The top Command

top shows a continuous real time list of running processes:

top - 15:34:10 up  3:28,  2 users,  load average: 0.15, 0.19, 0.09
Tasks: 142 total,   1 running, 141 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.0%us,  6.9%sy,  0.0%ni, 91.7%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:   1670736k total,   783644k used,   887092k free,    66836k buffers
Swap:  2096120k total,        0k used,  2096120k free,   444916k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 1839 root      20   0 65184  38m 8900 S  3.6  2.4   5:28.94 Xorg               
 2622 trainee   20   0 51356  11m 9544 S  2.0  0.7   0:21.25 gnome-terminal     
 2058 trainee   20   0  9568 1520 1032 S  1.7  0.1   3:23.93 VBoxClient         
 1563 root      20   0 11912 1408 1060 S  1.0  0.1   0:29.00 VBoxService        
 4731 root      20   0  2704 1108  860 R  1.0  0.1   0:00.12 top                
 1458 root      20   0  3860 1140 1004 S  0.7  0.1   1:01.57 hald-addon-inpu    
 2100 trainee   20   0 99.2m  10m 9072 S  0.7  0.7   0:11.81 metacity           
   16 root      20   0     0    0    0 S  0.3  0.0   0:03.26 kblockd/0          
   20 root      20   0     0    0    0 S  0.3  0.0   0:20.65 ata/0              
    1 root      20   0  2900 1432 1212 S  0.0  0.1   0:02.61 init               
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.02 kthreadd           
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0        
    4 root      20   0     0    0    0 S  0.0  0.0   0:02.87 ksoftirqd/0        
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0        
    6 root      RT   0     0    0    0 S  0.0  0.0   0:00.81 watchdog/0         
    7 root      20   0     0    0    0 S  0.0  0.0   0:17.34 events/0           
    8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup                                                             

To see top's help, use the h key:

Help for Interactive Commands - procps version 3.2.8
Window 1:Def: Cumulative mode Off.  System: Delay 3.0 secs; Secure mode Off.

  Z,B       Global: 'Z' change color mappings; 'B' disable/enable bold
  l,t,m     Toggle Summaries: 'l' load avg; 't' task/cpu stats; 'm' mem info
  1,I       Toggle SMP view: '1' single/separate states; 'I' Irix/Solaris mode

  f,o     . Fields/Columns: 'f' add or remove; 'o' change display order
  F or O  . Select sort field
  <,>     . Move sort field: '<' next col left; '>' next col right
  R,H     . Toggle: 'R' normal/reverse sort; 'H' show threads
  c,i,S   . Toggle: 'c' cmd name/line; 'i' idle tasks; 'S' cumulative time
  x,y     . Toggle highlights: 'x' sort field; 'y' running tasks
  z,b     . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
  u       . Show specific user only
  n or #  . Set maximum tasks displayed

  k,r       Manipulate tasks: 'k' kill; 'r' renice
  d or s    Set update interval
  W         Write configuration file
  q         Quit
          ( commands shown with '.' require a visible task display window ) 
Press 'h' or '?' for help with Windows,
any other key to continue 

<note important> To return to top, use the space bar. </note>

When launched top's refresh rate is 3 seconds. To change this to 1 second, use the s key:

top - 15:38:19 up  3:32,  2 users,  load average: 0.11, 0.17, 0.10
Tasks: 142 total,   2 running, 140 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.5%us,  9.6%sy,  0.0%ni, 86.8%id,  0.2%wa,  0.5%hi,  0.4%si,  0.0%st
Mem:   1670736k total,   783924k used,   886812k free,    66940k buffers
Swap:  2096120k total,        0k used,  2096120k free,   444916k cached
Change delay from 3.0 to: 1
...

To sort the list by memory usage, use the M key:

top - 15:40:11 up  3:34,  2 users,  load average: 0.08, 0.14, 0.09
Tasks: 142 total,   1 running, 141 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.7%us,  3.7%sy,  0.0%ni, 95.3%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:   1670736k total,   783876k used,   886860k free,    66992k buffers
Swap:  2096120k total,        0k used,  2096120k free,   444916k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 2427 trainee   20   0  466m  66m  35m S  0.0  4.1   2:03.11 chrome             
 2574 trainee   20   0  203m  45m  23m S  0.0  2.8   0:54.91 chrome             
 1839 root      20   0 65184  38m 8900 S  1.3  2.4   5:55.25 Xorg               
 2657 trainee   20   0  190m  37m  22m S  0.0  2.3   0:06.44 chrome             
 2558 trainee   20   0  192m  34m  21m S  0.0  2.1   0:02.90 chrome             
 2111 trainee   20   0 78928  16m  12m S  0.0  1.0   0:12.31 nautilus           
 2767 trainee   20   0 56568  16m  12m S  0.0  1.0   2:15.65 gedit              
 2130 trainee   20   0 31840  13m 8300 S  0.0  0.9   0:00.76 python             
 2216 trainee   20   0 47940  13m  10m S  0.0  0.8   0:02.37 clock-applet       
 2107 trainee   20   0 45000  12m  10m S  0.0  0.8   0:05.98 gnome-panel        
 2128 trainee   20   0 56216  12m   9m S  0.0  0.7   0:00.80 nm-applet          
 2622 trainee   20   0 51356  11m 9544 S  0.7  0.7   0:23.92 gnome-terminal     
 2118 trainee   20   0 44152  11m 9692 S  0.0  0.7   0:07.06 wnck-applet        
 2467 trainee   20   0  131m  10m 7580 S  0.0  0.7   0:00.54 chrome             
 2214 trainee   20   0 54688  10m 8992 S  0.0  0.7   0:00.44 gdm-user-switch    
 2100 trainee   20   0 99.2m  10m 9072 S  0.0  0.7   0:12.96 metacity           
 2137 trainee   20   0  104m  10m 8440 S  0.0  0.6   0:00.46 gnome-volume-co                                                     

To see the processes using the processor, use the i key:

top - 15:40:53 up  3:35,  2 users,  load average: 0.13, 0.15, 0.09
Tasks: 142 total,   1 running, 141 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.4%us,  9.3%sy,  0.0%ni, 88.0%id,  0.0%wa,  1.0%hi,  0.3%si,  0.0%st
Mem:   1670736k total,   783884k used,   886852k free,    67016k buffers
Swap:  2096120k total,        0k used,  2096120k free,   444912k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 4731 root      20   0  2704 1124  876 R  0.3  0.1   0:00.74 top             

To leave top, use the q key.

The fg and bg Commands

Normally commands are executed in the foreground of a terminal. However you can also execute a command in what is know as the background :

# sleep 9999 &

<note important> A process in that foreground is synchronous whereas a process in the background is said to be asynchronous. </note>

Linux identifies processes sent to the back ground by job numbers.

The jobs command shows a list of all the current jobs associated with the current terminal:

[root@centos ~]# sleep 9999 &
[1] 2716
[root@centos ~]# jobs -l
[1]+  2716 Running                 sleep 9999 &

<note important> The job number is between square brackets whilst the PID is not. The + sign indicates that this is the last job to have been modified. </note>

If you wish to send a job to the background to free up the current terminal, the process first has to be suspended. This can be acheived by using CtrlZ :

Par exemple :

[root@centos ~]# sleep 1234
^Z
[2]+  Stopped                 sleep 1234

Once suspended, the bg command can be used to send the process to the background:

[root@centos ~]# bg %2
[2]+ sleep 1234 &
[root@centos ~]# jobs -l
[1]-  2716 Running                 sleep 9999 &
[2]+  2742 Running                 sleep 1234 &

<note important> Note that when the process is sent to the background it resumes normal execution. The - character which follows the [1] indicates that this is that last but one job to have been modified. </note>

To bring the job back to the foreground you cannot suspend it by using the CtrlZ keys. In this case you will have to send a signal to the process. Signals are sent to processes by using the kill kill command:

[root@centos ~]# kill -stop %2

[2]+  Stopped                 sleep 1234
[root@centos ~]# jobs -l
[1]-  2716 Running                 sleep 9999 &
[2]+  2742 Stopped (signal)        sleep 1234

Before bringing the process to the foreground, you can cancel the suspend status:

[root@centos ~]# kill -cont %2
[root@centos ~]# jobs -l
[1]-  2716 Running                 sleep 9999 &
[2]+  2742 Running                 sleep 1234 &

Now bring the process to the foreground:

[root@centos ~]# kill -stop %2
[root@centos ~]# jobs -l
[1]-  2716 Running                 sleep 9999 &
[2]+  2742 Stopped (signal)        sleep 1234
[root@centos ~]# fg %2
sleep 1234
^C
[root@centos ~]# 

<note important> Note that we have used the CtrlC keys to kill the process once in the foreground. </note>

Command Line Switches

The command line switches for the jobs command are :

[root@centos ~]# help jobs
jobs: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
    Display status of jobs.
    
    Lists the active jobs.  JOBSPEC restricts output to that job.
    Without options, the status of all active jobs is displayed.
    
    Options:
      -l	lists process IDs in addition to the normal information
      -n	list only processes that have changed status since the last
    	notification
      -p	lists process IDs only
      -r	restrict output to running jobs
      -s	restrict output to stopped jobs
    
    If -x is supplied, COMMAND is run after all job specifications that
    appear in ARGS have been replaced with the process ID of that job's
    process group leader.
    
    Exit Status:
    Returns success unless an invalid option is given or an error occurs.
    If -x is used, returns the exit status of COMMAND.

The wait Command

Tha wait command makes an asynchronous process react like a synchronous process:

[root@centos ~]# jobs -l
[1]+  2716 Running                 sleep 9999 &
[root@centos ~]# wait %1
^C
[root@centos ~]# jobs -l
[1]+  2716 Running                 sleep 9999 &

<note important> Note that the CtrlC key combination kills the process associated with the wait command and not the sleep command. </note>

The nice Command

This command is used to change the process priority. The default nice value when a process is started is 10. The highest value of nice is -20, whilst the lowest value is 19. Only root can give a process a value between 0 and -20:

[root@centos ~]# nice -n -20 sleep 1234
^Z
[2]+  Stopped                 nice -n -20 sleep 1234
[root@centos ~]# ps lx | grep sleep
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
0     0  2716  2697  20   0   4064   488 -      S    pts/0      0:00 sleep 9999
4     0  2893  2697   0 -20   4064   488 -      T<   pts/0      0:00 sleep 1234
0     0  2907  2697  20   0   4356   724 -      S+   pts/0      0:00 grep sleep
[root@centos ~]# nice -n 19 sleep 5678
^Z
[3]+  Stopped                 nice -n 19 sleep 5678
[root@centos ~]# ps lx | grep sleep
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
0     0  2716  2697  20   0   4064   488 -      S    pts/0      0:00 sleep 9999
4     0  2893  2697   0 -20   4064   488 -      T<   pts/0      0:00 sleep 1234
0     0  2922  2697  39  19   4064   488 -      TN   pts/0      0:00 sleep 5678
0     0  2925  2697  20   0   4360   728 -      S+   pts/0      0:00 grep sleep

As you can see, the 6th column contains the nice value. This value is applied to the 5th column and alters the process priority. The lower the number, the higher the priority.

Command Line Switches

The command line switches for the nice command are :

[root@centos ~]# nice --help
Usage: nice [OPTION] [COMMAND [ARG]...]
Run COMMAND with an adjusted niceness, which affects process scheduling.
With no COMMAND, print the current niceness.  Nicenesses range from
-20 (most favorable scheduling) to 19 (least favorable).

  -n, --adjustment=N   add integer N to the niceness (default 10)
      --help     display this help and exit
      --version  output version information and exit

NOTE: your shell may have its own version of nice, which usually supersedes
the version described here.  Please refer to your shell's documentation
for details about the options it supports.

Report nice bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
For complete documentation, run: info coreutils 'nice invocation'

The renice Command

This command is used to change the process priority of an already running process. Only the process owner and root can renice a process:

[root@centos ~]# jobs -l
[1]   2716 Running                 sleep 9999 &
[2]-  2893 Stopped                 nice -n -20 sleep 1234
[3]+  2922 Stopped                 nice -n 19 sleep 5678
[root@centos ~]# bg %2
[2]- nice -n -20 sleep 1234 &
[root@centos ~]# bg %3
[3]+ nice -n 19 sleep 5678 &
[root@centos ~]# jobs -l
[1]   2716 Running                 sleep 9999 &
[2]-  2893 Running                 nice -n -20 sleep 1234 &
[3]+  2922 Running                 nice -n 19 sleep 5678 &
[root@centos ~]# renice +5 2893
2893: old priority -20, new priority 5
[root@centos ~]# renice -5 2922
2922: old priority 19, new priority -5
[root@centos ~]# ps lx | grep sleep
0     0  2716  2697  20   0   4064   488 -      S    pts/0      0:00 sleep 9999
4     0  2893  2697  25   5   4064   488 -      SN   pts/0      0:00 sleep 1234
0     0  2922  2697  15  -5   4064   488 -      S<   pts/0      0:00 sleep 5678
0     0  2975  2697  20   0   4360   728 -      S+   pts/0      0:00 grep sleep

Command Line Switches

The command line switches for the renice command are :

[root@centos ~]# renice --help

Usage:
 renice [-n] priority [-p|--pid] pid  [... pid]
 renice [-n] priority  -g|--pgrp pgrp [... pgrp]
 renice [-n] priority  -u|--user user [... user]
 renice -h | --help
 renice -v | --version

The nohup Command

This command allows a process to continue after closing the terminal in which is was launched:

nohup lp ventes.txt &

Command Line Switches

The command line switches for the nohup command are :

[root@centos ~]# nohup --help
Usage: nohup COMMAND [ARG]...
  or:  nohup OPTION
Run COMMAND, ignoring hangup signals.

      --help     display this help and exit
      --version  output version information and exit

If standard input is a terminal, redirect it from /dev/null.
If standard output is a terminal, append output to `nohup.out' if possible,
`$HOME/nohup.out' otherwise.
If standard error is a terminal, redirect it to standard output.
To save output to FILE, use `nohup COMMAND > FILE'.

NOTE: your shell may have its own version of nohup, which usually supersedes
the version described here.  Please refer to your shell's documentation
for details about the options it supports.

Report nohup bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
For complete documentation, run: info coreutils 'nohup invocation'

The kill Command

As we have already seen, the kill command is used to send signals to processes. Possible signals can be:

[root@centos ~]# kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX	

<note important> Each signal has a number. As a result kill -19 is equivalent to kill -stop. </note>

The most usefull signals are as follows:

Numéro Description
-2 Equivalent to the CtrlC key combination
-9 A brutal way of killing a process
-15 The correct way of killing a process

~~DISCUSSION:off~~


<html> <center> Copyright © 2011-2014 Hugh Norris.<br><br> <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/”><img alt=“Creative Commons License” style=“border-width:0” src=“https://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png” /></a><br />This work is licensed under a <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/”>Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License</a> </center> </html>

Menu