Processus et services
Tout programme en cours d'exécution est un processus. Chaque processus a un identifiant unique (PID) et s'exécute sous l'identité d'un utilisateur. Les services (ou daemons) sont des processus qui tournent en arrière-plan.
Observer les processus
ps aux: liste tous les processus en cours avec leur PID, utilisateur et consommation de ressourcesps -ef: affichage alternatif avec la hiérarchie parent/enfant (PPID)top: vue dynamique des processus triés par consommation CPUhtop: version améliorée de top (à installer :apt install htop) — navigation interactive, filtres, kill intégrépgrep nom: retrouve le PID d'un processus par son nom
Gérer les processus
kill PID: envoie le signal SIGTERM (arrêt propre, le processus peut l'ignorer)kill -9 PID: envoie le signal SIGKILL (arrêt forcé, immédiat)killall nom: tue tous les processus portant ce nom
Toujours commencer par kill avant kill -9 : le SIGTERM laisse au processus le temps de fermer proprement ses connexions et fichiers.
Gérer les services avec systemctl
Sur Debian, les services sont gérés par systemd via la commande systemctl :
systemctl status nginx: état d'un servicesystemctl start nginx: démarrersystemctl stop nginx: arrêtersystemctl restart nginx: redémarrersystemctl reload nginx: recharger la configuration sans couper le servicesystemctl enable nginx: activer le démarrage automatique au bootsystemctl disable nginx: désactiver le démarrage automatiquesystemctl list-units --type=service: liste tous les services actifs
Consulter les logs avec journalctl
journalctl -u nginx: logs du service nginxjournalctl -u nginx -f: suit les logs en temps réeljournalctl --since "1 hour ago": logs de la dernière heurejournalctl -p err: filtre sur les erreurs uniquement
En pratique : systemctl status service est le premier réflexe lors d'un dysfonctionnement. Il affiche l'état du service, les dernières lignes de log et le code de sortie. journalctl -u service -f en parallèle lors d'un redémarrage permet de voir exactement où ça coince.