Préparation LPI - Exam 101

Linux Process Management and Command Control · exam

Voir tous les documents en systèmes d'exploitation et cloud

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

print

$ 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

print

$ 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

Publicité

$ 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

Publicité

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

Publicité

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

Publicité

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