Linux — utilisation avancée et administration · Étape 11

Observe les processus et leur hiérarchie

Lis PID, PPID, état, session et groupe de processus, puis relie ps, pstree et /proc.

Durée indicative · ~1 h 20Niveau intermédiairePrérequis conseillé · Leçon 10 — redirections, pipes et descripteursPratique · TP
L’idée reçue

« Un programme lancé correspond toujours à un seul processus. »

Un service, un shell ou un outil peut créer plusieurs processus. Avant de tuer ou relancer quoi que ce soit, il faut comprendre leur parenté et leur groupe.

01Démarre l’arbre de processus

chmod +x module3-processes-software-lab.sh
./module3-processes-software-lab.sh setup
./module3-processes-software-lab.sh start
./module3-processes-software-lab.sh status

02Lis les identifiants

export LAB="/tmp/soria-linux-processes-$USER"
parent_pid=$(cat "$LAB/run/parent.pid")
ps -o user,pid,ppid,pgid,sid,stat,ni,etime,tty,cmd --forest -g "$(cat "$LAB/run/process-group.pgid")"
Champ
Signification
Question
PID
identifiant du processus
quel processus précis ?
PPID
PID du parent
qui l’a créé ?
PGID
groupe de processus
quel ensemble reçoit un signal collectif ?
SID
session
à quelle session appartient-il ?

03Observe les états

ps -o pid,ppid,stat,wchan:24,cmd -g "$(cat "$LAB/run/process-group.pgid")"
ps -eo stat= | cut -c1 | sort | uniq -c

Les états fréquents sont R pour runnable, S pour sommeil interruptible, D pour attente non interruptible, T pour stoppé et Z pour zombie.

04Relie ps et /proc

cat "/proc/$parent_pid/status" | sed -n '1,12p'
tr '' ' ' < "/proc/$parent_pid/cmdline"; echo
readlink -f "/proc/$parent_pid/exe"
ls -l "/proc/$parent_pid/fd" | sed -n '1,12p'
/proc expose une vue dynamique du noyau. Les fichiers disparaissent dès que le processus se termine.

05Compare avec pstree

command -v pstree && pstree -ap "$parent_pid" || true

pstree rend la parenté lisible, mais ps reste nécessaire pour les champs de session, priorité et état.

Challenge autonome

Produis une fiche d’identité

Choisis un processus réel de la VM. Documente son PID, PPID, PGID, SID, état, priorité, commande, fichiers ouverts et parent. Ne modifie pas le processus.

Ce que tu retiens

Un processus appartient à une hiérarchie, un groupe et une session. Cette cartographie détermine la portée correcte d’un signal et évite d’intervenir sur le mauvais PID.

Ta progression

Chargement de l’état… Se connecter pour synchroniser.