systemctl est la commande qui pilote tous les services de votre système
Linux. Avec elle, vous démarrez SSH, arrêtez un serveur web ou activez un
service au boot — le tout en une seule ligne. Ce guide couvre les gestes
quotidiens indispensables.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Le rôle de systemd et des services (units)
- Vérifier l’état d’un service avec
systemctl status - Démarrer, arrêter et redémarrer un service
- Activer un service au démarrage avec
enable - Lister les services et repérer ceux en échec
Qu’est-ce que systemd
Section intitulée « Qu’est-ce que systemd »systemd est le gestionnaire de système et de services sur la grande majorité
des distributions Linux modernes (Debian, Ubuntu, RHEL, Fedora, Arch…). Il :
- lance les services au démarrage du système,
- les surveille en continu,
- les redémarre automatiquement en cas de plantage (si configuré),
- gère aussi les points de montage, les timers, les sockets…
Chaque élément géré par systemd s’appelle une unit. Le type le plus courant
est le service (fichier .service).
Vérifier l’état d’un service
Section intitulée « Vérifier l’état d’un service »La commande la plus utile au quotidien :
systemctl status sshd● sshd.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/sshd.service; enabled; preset: enabled) Active: active (running) since Mon 2026-04-06 08:00:00 UTC; 2h ago Main PID: 850 (sshd) Tasks: 1 (limit: 4915) Memory: 5.2M CPU: 32ms CGroup: /system.slice/sshd.service └─850 sshd: /usr/sbin/sshd -DLes informations clés :
| Champ | Signification |
|---|---|
| Active: active (running) | Le service tourne |
| enabled | Il démarrera automatiquement au boot |
| Main PID | Le PID du processus principal |
| Loaded | Chemin du fichier unit |
Les états possibles de Active :
| État | Signification |
|---|---|
active (running) | Le service fonctionne |
inactive (dead) | Le service est arrêté |
failed | Le service a planté |
activating | Le service est en cours de démarrage |
Démarrer, arrêter, redémarrer
Section intitulée « Démarrer, arrêter, redémarrer »-
Démarrer un service arrêté :
Fenêtre de terminal sudo systemctl start nginx -
Arrêter un service en cours :
Fenêtre de terminal sudo systemctl stop nginx -
Redémarrer un service (arrêt + démarrage) :
Fenêtre de terminal sudo systemctl restart nginx -
Recharger la configuration sans couper le service :
Fenêtre de terminal sudo systemctl reload nginx
Activer ou désactiver au démarrage
Section intitulée « Activer ou désactiver au démarrage »Par défaut, un service démarré avec start ne survivra pas à un reboot. Pour
qu’il se lance automatiquement au démarrage :
sudo systemctl enable nginxCreated symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.Pour le désactiver au démarrage :
sudo systemctl disable nginxPour activer et démarrer en une seule commande :
sudo systemctl enable --now nginxVérifier si un service est activé
Section intitulée « Vérifier si un service est activé »systemctl is-enabled nginxenabledLister les services
Section intitulée « Lister les services »Tous les services actifs
Section intitulée « Tous les services actifs »systemctl list-units --type=serviceUNIT LOAD ACTIVE SUB DESCRIPTIONcron.service loaded active running Regular background program processingnginx.service loaded active running A high performance web serversshd.service loaded active running OpenBSD Secure Shell serverLes services en échec
Section intitulée « Les services en échec »systemctl --failedUNIT LOAD ACTIVE SUB DESCRIPTIONmyapp.service loaded failed failed My applicationUn service en failed a rencontré une erreur. Pour en savoir plus :
systemctl status myappjournalctl -u myapp -n 20Vérifications rapides sans détails
Section intitulée « Vérifications rapides sans détails »| Commande | Question posée | Réponse |
|---|---|---|
systemctl is-active nginx | Le service tourne-t-il ? | active ou inactive |
systemctl is-enabled nginx | Démarre-t-il au boot ? | enabled ou disabled |
systemctl is-failed nginx | A-t-il planté ? | failed ou active |
Ces commandes sont utiles dans des scripts : elles retournent un code de sortie
(0 = oui, 1 = non).
Récapitulatif des commandes
Section intitulée « Récapitulatif des commandes »| Commande | Action |
|---|---|
systemctl status service | Voir l’état détaillé |
sudo systemctl start service | Démarrer |
sudo systemctl stop service | Arrêter |
sudo systemctl restart service | Redémarrer |
sudo systemctl reload service | Recharger la configuration |
sudo systemctl enable service | Activer au démarrage |
sudo systemctl disable service | Désactiver au démarrage |
sudo systemctl enable --now service | Activer + démarrer |
systemctl list-units --type=service | Lister les services actifs |
systemctl --failed | Lister les services en échec |
Dépannage
Section intitulée « Dépannage »| Symptôme | Cause probable | Solution |
|---|---|---|
Unit nginx.service not found | Le service n’est pas installé | Installer le paquet : sudo apt install nginx |
Active: failed après start | Erreur de configuration ou port occupé | Lire les logs : journalctl -u nginx -n 30 |
| Le service s’arrête après le reboot | enable n’a pas été fait | Lancer sudo systemctl enable service |
reload échoue | Le service ne supporte pas reload | Utiliser restart à la place |
Failed to start: Address already in use | Un autre processus utilise le port | Identifier avec ss -tlnp | grep :80 puis arrêter le processus |
À retenir
Section intitulée « À retenir »systemctl statusest la commande réflexe pour vérifier l’état d’un service.start/stop/restartcontrôlent le service immédiatement.enablerend le démarrage automatique au boot ;disablele supprime.systemctl --failedidentifie rapidement les services en erreur.- Les logs détaillés d’un service se consultent avec
journalctl -u service.