Linux · Processus

Processus

Observez les processus Linux, comprenez leurs identifiants et arrêtez-les de façon contrôlée.

Leçon disponible
20 min

Objectifs

  • Comprendre les notions de processus, PID et processus parent.
  • Observer les processus avec ps, pgrep et top.
  • Gérer les tâches du shell au premier plan et en arrière-plan.
  • Distinguer SIGTERM de SIGKILL et choisir le signal adapté.

Comprendre le cycle de vie d’un processus

Un processus est une instance d’un programme en cours d’exécution. Linux lui attribue un PID et mémorise son processus parent, identifié par un PPID.

Un processus au premier plan occupe le terminal. Une tâche en arrière-plan laisse le shell disponible, mais reste liée à la session sauf si un mécanisme spécifique la détache.

Lister et rechercher les processus

ps affiche un instantané des processus. ps aux fournit une vue large avec l’utilisateur et la consommation. pgrep recherche directement les PID par nom, tandis que top actualise une vue interactive.

Afficher les processus du shell et une vue système
ps
ps aux
Rechercher nginx puis observer l’activité
pgrep nginx
top

ps aux | grep nginx est courant, mais pgrep nginx évite d’inclure le processus grep dans le résultat.

Premier plan et arrière-plan

jobs liste les tâches gérées par le shell courant. bg reprend une tâche suspendue en arrière-plan ; fg la ramène au premier plan.

Examiner et reprendre les tâches du shell
jobs
bg %1
fg %1

Les numéros comme %1 sont des identifiants de tâche du shell, pas des PID système.

SIGTERM avant SIGKILL

kill envoie un signal ; il ne signifie pas toujours arrêt forcé. SIGTERM, numéro 15, demande au processus de s’arrêter proprement et lui laisse le temps de fermer ses fichiers ou connexions.

SIGKILL, numéro 9, est traité directement par le noyau : le processus ne peut ni l’intercepter ni nettoyer son état. Réservez-le à un processus réellement bloqué après une tentative avec SIGTERM.

Diagnostic et arrêt contrôlé de nginx
ps aux | grep nginx
pgrep nginx
kill -15 <PID>
Dernier recours uniquement après vérification
kill -9 <PID>

Bonnes pratiques

Identifiez le bon PID, l’utilisateur propriétaire et la fonction du processus. Pour un service systemd, préférez systemctl stop au signal manuel : le gestionnaire connaît l’unité et ses dépendances.

  • Confirmer le PID juste avant l’envoi du signal.
  • Utiliser SIGTERM puis vérifier si le processus s’est arrêté.
  • Consulter les logs si un processus redémarre ou se bloque.

Mini résumé

  • Chaque processus possède un PID et un processus parent.
  • ps, pgrep et top donnent des vues complémentaires.
  • jobs, bg et fg gèrent les tâches du shell courant.
  • SIGTERM demande un arrêt propre ; SIGKILL force un arrêt immédiat.

Mini quiz

Trois questions pour vérifier les notions essentielles de la leçon.

1. Que représente le PID ?
2. Un processus doit s’arrêter sans perdre son état. Quel signal essayez-vous d’abord ?
3. Que liste la commande jobs ?