
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 # S'assure que le réseau est prêt avant de démarrer After=network.target [Service] Type=simple # Utilisateur qui exécutera le processus (à adapter selon vos besoins) User=root # Répertoire de travail WorkingDirectory=/opt/logiciel # Chemin complet de l'exécutable ExecStart=/opt/logiciel/logiciel_svc # Redémarrage automatique si le service plante Restart=always RestartSec=10 [Install] # Permet de lancer le service au démarrage du système (mode multi-utilisateur) WantedBy=multi-user.target
- Enregistrer et quitter ce fichier logiciel.service.
-
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
S’assurer que le fichier exécutable possède les droits d’exécution :
chmod +x /chemin/vers/executable
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.





