Pr paration LPI
Exam 101
103.5 Gestion des processus
1
103.5 Domaines de connaissances
Poids : 4
Ex cuter des travaux en avant et arri re plan
Signifier un programme de continuer apr s une d connexion
Superviser les processus actifs
S lectionner et trier les processus l'affichage
Envoyer des signaux aux processus
UPMC FP Pr paration LPI - v1.1
2
103.5 Contr le des commandes
Avant plan (foreground)
Lorsque qu'un commande est lanc e, le shell ne rend pas la
main et attend qu'elle se termine
Pour interrompre la commande en cours avant sa fin
normale : Ctrl C
Arri re plan (background)
Pour lancer une commande te r cup rer la main
imm ditament, il faut la lancer en t che de fond
(background) en terminant la ligne de commande avec le
caract re &
$ commande &
UPMC FP Pr paration LPI - v1.1
3
103.5 Contr le des commandes
Passage d'avant en arri re plan
Pour passe en background une commande lanc e en avant
plan
1 figer la commande en cours avec Ctrl Z
2 demander la commande de passer en arri re plan
avec la commande bg
Attention : l'utilisation de Ctrl Z . Les commandes ne
sont pas tu es mais uniquement fig es et donc continuent
occuper des ressources m moire
$ find / name Hostidfile.txt print
find: /lost+found: Permission non accord e
[1]+ Stopped find / name Hostidfile.txt
$ bg
[1]+ find / name Hostidfile.txt print &
UPMC FP Pr paration LPI - v1.1
4
103.5 Contr le des commandes
Passage d'arri re en avant plan
Pour passer en foreground une commande lanc e en arri re
plan
1 demander la commande de passer en avant plan avec
la commande fg
$ find / name Hostidfile.txt print
find: /lost+found: Permission non accord e
[1]+ Stopped find / name Hostidfile.txt
$ bg
[1]+ find / name Hostidfile.txt print &
$ fg
find / name Hostidfile.txt print
find: /boot/lost+found: Permission non accord e
find: /etc/skel/tmp: Permission non accord e
....
UPMC FP Pr paration LPI - v1.1
5
103.5 Contr le des commandes
UPMC FP Pr paration LPI - v1.1
6
103.5 Contr le des commandes
Liste des processus en arri re plan
Pour conna tre la liste : jobs
Les jobs sont num rot s (il peut y avoir plusieurs commandes
lanc es simultan ment en arri re plan). Ce num ro peut tre
repris dans les commandes fg , bg et kill
UPMC FP Pr paration LPI - v1.1
7
103.5 Contr le des commandes
Options de la commande jobs
l : ajoute le PID
p : affiche uniquement le pid
r : affiche uniquement les processus en cours d'ex cution
s : affiche uniquement les processus arr t s
UPMC FP Pr paration LPI - v1.1
8
103.5 Contr le des commandes
Tuer un processus en arri re plan
commande : kill %num job
$ find / name Hostidfile.txt print
find: /lost+found: Permission non accord e
[1]+ Stopped find / name Hostidfile.txt print
Advertisement
$ jobs
[1]+ Stopped find / name Hostidfile.txt print
$ kill %1
$ jobs
[1]+ Compl t頠 find / name Hostidfile.txt print
UPMC FP Pr paration LPI - v1.1
9
103.5 Contr le des commandes
Les commandes fg , bg et kill ne
fonctionnent que sur les processus lanc s par le shell courant.
Pour intervenir sur tous les processus il faut utiliser une
commande plus g n rale des gestion de processus (voir plus
loin) : ps
UPMC FP Pr paration LPI - v1.1
10
103.5 nohup
Commande nohup : permet de continuer l'ex cution d'une
commande apr s une d connexion en la rendant insensible aux
signaux
nohup COMMAND ...
Si stdin est un terminal, redirection implicite par /dev/null
Equivalent
nohup COMMAND < /dev/null
Si stdout est un terminal, redirection implicite vers nohup.out.
Stderr est redirig e vers stdout.
Sinon faire une redirection explicite :
nohup COMMAND > monfic.log
Attention : il faut explicitement mettre la commande en
background si n cessaire
UPMC FP Pr paration LPI - v1.1
11
103.5 nohup
A compl ter
mettre un ex de commande nohup sur mkfs long par exemple
UPMC FP Pr paration LPI - v1.1
12
103.5 ps
Commandes ps : affiche l' tat des processus en cours.
Affichage de l' tat au moment de l'ex cution de la commande.
Pour un affichage en continu, utiliser la commande top.
ps r cup re les informations affich es depuis le syst me de
fichier /proc
Liste des informations pr sent es
UID : uid propri taire
PID : identifiant du processus
PPID : pid du processus parent
NI : valeur de nice (gentillesse)
SZ : (size) empreinte m moire du processus (code +
donn es + pile)
UPMC FP Pr paration LPI - v1.1
13
103.5 ps
Liste des informations pr sent es ...
STAT : tat du processus
R (runnable) : pr t tre ex cut
S (sleeping) : endormi
D : sommeil ininterruptible
T (traced) : trac ou suivi
Z : processus zombie
TTY : terminal associ
CMD : commande li e au processus
UPMC FP Pr paration LPI - v1.1
14
103.5 ps
Liste des options
Attention : infos diff rentes entre page de manuel et la r alit
des options. Faire un ps ?
Comportement des options diff rent selon que l'on emploie le
tiret ou non
A : tous les processus avec affichage simple (PI, TTY,
TIME, CMD)
a : tous les processus avec un terminal associ
a : tous les processus avec un terminal associ pour tous
les utilisateurs
r : affiche seulement les processus en cours d'ex cution
UPMC FP Pr paration LPI - v1.1
15
103.5 ps
Liste des options (format de sortie)...
l : format long
f : format full
F : format extra full
u : affiche l'utilisateur propri taire et l'heure de lancement
e : affiche l'environnement d'ex cution
w ou w, ww ou ww : affichage sur plusieurs lignes
f (forest) : affiche l'arbre g n alogique des processus
n : infos num riques (UID)
UPMC FP Pr paration LPI - v1.1
16
Advertisement
Liste des options (tri)...
103.5 ps
O[+| ]k1[,[+| ]k2[,...]] : Permet de trier les
r sultat en fonction de cl s de tri (k1, k2, ...)
+ et permettent de d finir un ordre alphab tique ou un
ordre inverse
ps ef O1, 2
sortX[+| ]key[,[+| ]key[,...]] : m me fonction
que l'option O mais key repr sente cette fois ci le nom de la
colonne (ppid par exemple)
Les cl s de tri sont list es dans le man :
p : pid
P : ppid
u : nom d'utilisateur
U : UID
UPMC FP Pr paration LPI - v1.1
17
103.5 ps
Attention ! Ces deux commandes ne donnent pas le m me
r sultat
$ ps ef t
UID PID PPID C STIME TTY STAT TIME CMD
root 1 0 0 21:40 ? Ss 0:01 /sbin/init
root 2 0 0 21:40 ? S< 0:00
root 3 2 0 21:40 ? S< 0:00
root 4 2 0 21:40 ? S< 0:00
$ ps e ft
PID TTY STAT TIME COMMAND
2 ? S< 0:00
3 ? S< 0:00 \_
4 ? S< 0:00 \_
5 ? S< 0:00 \_
6 ? S< 0:00 \_
UPMC FP Pr paration LPI - v1.1
18
103.5 Contr le des commandes
$ ps O+p
PID TTY STAT TIME COMMAND
3182 pts/0 Ss 0:00 bash
3234 pts/1 Ss+ 0:00 bash
3270 pts/0 S+ 0:00 man ps
3273 pts/0 S+ 0:00 sh c (cd "/usr/share/man/fr" && (echo ".pl 1100i"; /
3274 pts/0 S+ 0:00 sh c (cd "/usr/share/man/fr" && (echo ".pl 1100i"; /
3281 pts/0 S+ 0:00 /usr/bin/less is
3407 pts/2 Rs 0:00 bash
3549 pts/2 R+ 0:00 ps O+p
$ ps O p
PID TTY STAT TIME COMMAND
3553 pts/2 R+ 0:00 ps O p
3407 pts/2 Ss 0:00 bash
3281 pts/0 S+ 0:00 /usr/bin/less is
3274 pts/0 S+ 0:00 sh c (cd "/usr/share/man/fr" && (echo ".pl 1100i"; /
3273 pts/0 S+ 0:00 sh c (cd "/usr/share/man/fr" && (echo ".pl 1100i"; /
3270 pts/0 S+ 0:00 man ps
3234 pts/1 Ss+ 0:00 bash
3182 pts/0 Ss 0:00 bash
UPMC FP Pr paration LPI - v1.1
19
103.5 pstree
Commande pstree : affiche les processus sous une forma
arborescente.
pstree [ a] [ c] [ h| Hpid] [ l] [ n] [ p] [ u]
[ Z] [ A| G| U]
Si le pid est omis, la racine de l'arbre est le processus init
(pid=1)
Si l'utilisateur est pr cis , seuls les processus de cet utilisateurs
seront affich s
Options :
l : afficher les lignes longues
n : tri num rique des processus ayant le m me anc tre
plut t que par leur nom
p : ajoute le PID l'affichage
u : affiche les transition d'UID si l'UID du p re est diff rent
de celui du fils
UPMC FP Pr paration LPI - v1.1
20
103.5 Contr le des commandes
$ pstree
,
init
NetworkManager
,
dhclient
{NetworkManager}
,
acpid
Advertisement
atd
auditd
{auditd}
avahi daemon
bluetoothd
bonobo activati
.......
,
audispd
{audispd}
sedispatch
avahi daemon
{bonobo activati}
$ echo $$
3234
$ pstree 3234
bash
pstree
UPMC FP Pr paration LPI - v1.1
21
103.5 top
Commande top : affiche en temps r el les processus en
cours d'ex cution ainsi qu'un r sum des ressources syst me
top hv | bcHisS d delay n iterations p pid
[, pid ...]
Beaucoup d'options qui modifient les infos affich es, les d lais
de rafra chissement,....
Champs affich s
PID : identifiant du processus
PPID : PID du processus parent
USER : nom du propri taire du processus
PR : priorit de la t che
NI : valeur de gentillesse
UPMC FP Pr paration LPI - v1.1
22
Champs affich s ...
103.5 top
VIRT : empreinte m moire de la t che (RES + SWAP)
RES : empreinte m moire de la t che
%CPU et %MEM : respectivement les pourcentage
d'utilisation cpu et m moire utilis s
TIME etTIME+ : temps d'ex cution de la t che
COMMAND : nom de la t che
UPMC FP Pr paration LPI - v1.1
23
Mode interactif
103.5 top
<Entr e> ou <Espace> : rafra chissement de l'affichage
<?> ou <h> : aideu
u : saisie d'un nom d'utilisateur ou UID
t che pos d es par cet utilisateur
affichage des
k : saisie d'un PID
envoi du signal SIGTERM
q : quitter top
r : renice d'une t che
UPMC FP Pr paration LPI - v1.1
24
103.5 top
top 22:55:09 up 54 min, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 188 total, 2 running, 140 sleeping, 0 stopped, 46 zombie
Cpu(s): 1.6%us, 2.0%sy, 0.0%ni, 96.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1277124k total, 722968k used, 554156k free, 33248k buffers
Swap: 2441840k total, 0k used, 2441840k free, 358628k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
950 root 20 0 36264 12m 6784 S 1.7 1.0 0:48.01 Xorg
756 haldaemo 20 0 6120 3972 3304 S 0.7 0.3 0:01.32 hald
1756 franck 20 0 17964 5312 3936 S 0.3 0.4 0:00.25 gnome screensav
1880 franck 20 0 246m 110m 63m S 0.3 8.8 0:57.22 soffice.bin
1988 franck 20 0 38180 12m 9636 S 0.3 1.0 0:01.92 gnome terminal
2009 franck 20 0 2472 1208 884 R 0.3 0.1 0:18.30 top
1 root 20 0 2532 1528 1128 S 0.0 0.1 0:01.26 init
2 root 15 5 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 5 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 15 5 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
5 root RT 5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 15 5 0 0 0 S 0.0 0.0 0:00.05 events/0
UPMC FP Pr paration LPI - v1.1
25
103.5 uptime
Commande uptime : affiche la dur e de fonctionnement
d'un serveur depuis son dernier red marrage
uptime
Advertisement
Affiche la dur e de fonctionnement, le nombre d'utilisateurs
connect s, la charge du syst me des premi res, 5 et 15
derni res minutes
$ uptime
23:21:48 up 1:21, 2 users, load average: 0.00, 0.00, 0.00
UPMC FP Pr paration LPI - v1.1
26
103.5 free
Commande free : affiche la m moire utilis e et disponible
free [ b | k | m | g] [ o] [ s delay ] [ t]
[ V]
Options
b, k, m, g : affichage en octet, kilo, mega, gigaoctets
s sec : rafra chissement de l'affichage toutes les sec
secondes
$ free
total used free shared buffers cached
Mem: 1277124 733560 543564 0 34740 364456
/+ buffers/cache: 334364 942760
Swap: 2441840 0 2441840
UPMC FP Pr paration LPI - v1.1
27
103.5 kill
Commande kill : envoi d'un signal un processus
(SIGTERM par d faut)
kill [ signal | s signal ] pid &
kill [ L | V, version
kill l [ signal ]
Options
l : liste des signaux disponibles et traduit les noms de
signaux en valeur num rique et inversement
$ kill l 9
KILL
$ kill l TERM
15
UPMC FP Pr paration LPI - v1.1
28
103.5 kill
Avec un num ro de PID pr c d d'un moins : envoi d'un signal
un groupe de processus (voir colonne PGID de la commande
ps)
Si PID = 1 : signifie tous les processus sauf init et kill lui m me
UPMC FP Pr paration LPI - v1.1
29
Correspondance des signaux
103.5 kill
SIGHUP <=> HUP <=> 1 : le plus souvent, relecture des
fichiers de configuration
SIGINT <=> INT <=> 2 : Interrupt Emis par Ctrl + C
SIGQUIT <=> QUIT <=> 3 : Quit Emis par Ctrl + D
SIGKILL <=> KILL <=> 9 : le processus quitte sans faire les
proc dures de nettoyage
SIGTERM <=> TERM <=> 15 : le processus quitte apr s
avoir fait les op rations de nettoyage
UPMC FP Pr paration LPI - v1.1
30
103.5 killall
Commande killall : envoi d'un signal un ensemble de
processus (SIGTERM par d faut) sur la base de leur noms
killall [ Z, context pattern] [ e, exact] [
g, process group][ i, interactive] [ q,
quiet] [ r, regexp] [ s, signal signal][ u,
user user] [ v, verbose] [ w, wait] [ I,
ignore case][ V, version] [ ] name &
killall l
killall V, version
UPMC FP Pr paration LPI - v1.1
31
Options ...
103.5 killall
i : demande confirmation avant chaque envoi de signal
r : s lection de processus sur la base d'expressions
r guli res
s : sp cification du signal au lieu de SIGTERM par d faut
le nom du signal doit tre compos de SIG + nom du signal
Exemple :
killall s SIGKILL httpd
u : s lection des processus d tenus par un utilisateur
particulier
UPMC FP Pr paration LPI - v1.1
32
Quelques conseils LPI...
Commande top : comment interagir pour envoyer un signal un
processus sans quitter top
Conna tre les correspondances des 3 formes des signaux les plus
courantes (9; KILL, SIGKILL)
UPMC FP Pr paration LPI - v1.1
33