Comment gérer les services et processus système avec systemctl sur Linux
Maîtrisez les commandes essentielles de systemd pour démarrer, arrêter, redémarrer et activer les services au démarrage de votre système Linux.
1. Introduction
Sur la majorité des distributions Linux modernes, le gestionnaire de système et de services par défaut est systemd. On interagit avec lui via la commande systemctl.
Un service (ou démon / daemon) est un programme qui tourne en arrière-plan sans interface graphique (comme un serveur web, un serveur SSH ou un pare-feu).
Savoir inspecter l'état d'un service et le piloter au quotidien est la compétence de base indispensable pour administrer un serveur ou une machine Linux.
Prerequisites & Objectives
- Une distribution Linux basée sur Debian ou Ubuntu (ou utilisant systemd).
- Un compte avec les privilèges sudo.
2. Installation & Setup
1. Vérifier l'état d'un service
Affichez si un service est actif, inactif ou en erreur (exemple ici avec le service ssh) :
sudo systemctl status sshSi la commande status affiche des lignes de logs et bloque le terminal sans vous redonner la main, appuyez simplement sur la touche q de votre clavier pour quitter l'affichage.
2. Démarrer ou arrêter un service manuellement
Pour lancer un service actuellement arrêté :
sudo systemctl start sshPour couper un service en cours d'exécution :
sudo systemctl stop ssh3. Redémarrer un service
Après avoir modifié un fichier de configuration, appliquez les changements en redémarrant le service concerné :
sudo systemctl restart ssh4. Activer ou désactiver le lancement automatique au boot
Configurez le service pour qu'il démarre automatiquement à chaque mise sous tension de la machine :
sudo systemctl enable sshDésactivez le lancement automatique au démarrage :
sudo systemctl disable ssh3. Verification & Best Practices
1. Vérifier si un service est configuré au démarrage
Contrôlez rapidement si un service est configuré pour se lancer au boot sans devoir afficher tout son rapport complet :
sudo systemctl is-enabled ssh2. Lister tous les services en panne ou en erreur
Affichez en un coup d'œil l'ensemble des services système qui ont échoué lors de leur exécution :
sudo systemctl --failedRecharger sans couper les connexions actives : Pour certains services comme les serveurs web (Nginx, Apache), préférez la commande sudo systemctl reload SERVICE au lieu de restart. Le rechargement applique la configuration modifiée sans interrompre les sessions utilisateurs en cours.