
Démarrer un service en automatique est une pratique fondamentale en administration Linux qui sert principalement à garantir que les applications critiques sont disponibles sans intervention humaine, par exemple après un redémarrage système (reboot) ou un crash du processus.
Pour mettre en place le démarrage automatique d’un service sous Linux, la méthode utilisée par la quasi-totalité des distributions modernes (Red Hat, Ubuntu, Debian, CentOS, Fedora, etc.), on utilise systemd. On prend ici l’exemple d’un logiciel installé dans /opt/logiciel avec pour démarrer « logiciel_svc ».
Le tutoriel ci-dessous montre comment ajouter le démarrage automatique d’un logiciel en tant que service système, sur les distributions Linux basées sur le noyau Red Hat, c’est-à-dire ses dérivés Fedora, CentOS, Oracle Linux, Alma Linux ou encore Rocky Linux.
Créer un service en démarrage automatique sur Red Hat / Fedora / CentOS
- Ouvrir un nouveau fichier de configuration :
sudo vi /etc/systemd/system/logiciel.service
- Copier / coller ce bloc de texte pour une configuration typique avec quelques paramètres de sécurité
[Unit] Description=Service Logiciel Exemple # Verifie que le reseau est pret avant de demarrer le service After=network.target [Service] Type=simple # Compte utilisateur qui executera le processus User=root # Repertoire de travail WorkingDirectory=/opt/logiciel # Chemin complet de l executable ExecStart=/opt/logiciel/logiciel_svc # Redemarrage automatique si le service plante Restart=always RestartSec=10 [Install] # Permet de lancer le service au demarrage du systeme (mode multi utilisateurs) WantedBy=multi-user.target
- Enregistrer et quitter ce fichier logiciel.service.
-
Ajouter les droits d’exécution sur ce fichier :
chmod +x /chemin/vers/executable
- Recharger la configuration de system.d :
sudo systemctl daemon-reload
- Activer le service :
sudo systemctl enable logiciel.service
- Démarrer le service immédiatement :
sudo systemctl start logiciel.service
D’autres commandes utiles
Vérifier si le service est actif :
systemctl status logiciel.service
Tester l’arrêt manuel du service (et le relancer derrière si besoin) :
systemctl stop logiciel.service
Voir les éventuelles erreurs dans le log :
journalctl -u logiciel.service -f
Enfin, on peut aussi désactiver le démarrage automatique du service :
systemctl disable mon-service
et donc « enable » pour le réactiver ensuite.






