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.
ps
ps auxpgrep nginx
topps 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.
jobs
bg %1
fg %1Les 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.
ps aux | grep nginx
pgrep nginx
kill -15 <PID>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.
Erreur fréquente : utiliser kill -9 comme premier réflexe
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.