Deamon avec systemd

De knowledge
Révision datée du 26 septembre 2025 à 22:48 par Jpinon (discussion | contributions) (Page créée avec « = Créer un service systemd personnalisé = Cette page décrit comment créer un service systemd pour exécuter un script ou une application en tant que démon, au démarrage du système. == 1. Préparer le script de lancement == Créer un script exécutable contenant les commandes à lancer : <syntaxhighlight lang="bash"> #!/bin/bash # Exemple : activer un environnement virtuel et lancer une application source /home/utilisateur/chemin/env/bin/activate exec n... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Créer un service systemd personnalisé

Cette page décrit comment créer un service systemd pour exécuter un script ou une application en tant que démon, au démarrage du système.

1. Préparer le script de lancement

Créer un script exécutable contenant les commandes à lancer :

#!/bin/bash
# Exemple : activer un environnement virtuel et lancer une application
source /home/utilisateur/chemin/env/bin/activate
exec nom_de_la_commande --option

Rendre le script exécutable :

chmod +x /home/utilisateur/chemin/start.sh

2. Créer le fichier de service systemd

Créer un fichier dans /etc/systemd/system/ :

[Unit]
Description=Nom du service
After=network.target

[Service]
Type=simple
User=utilisateur
WorkingDirectory=/home/utilisateur/chemin
ExecStart=/home/utilisateur/chemin/start.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

Adapter les chemins et le nom d’utilisateur selon le contexte.

3. Activer et démarrer le service

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable nomduservice.service
sudo systemctl start nomduservice.service

4. Vérifier le statut et les logs

systemctl status nomduservice.service
journalctl -u nomduservice.service

Notes

  • Le service sera lancé automatiquement au démarrage.
  • Le script peut contenir n’importe quelle commande : serveur web, tâche de fond, tunnel, etc.
  • Pour les services complexes, envisager Type=exec, Environment=, ou ExecStop=.