Re, On 06/11/2015 17:06, Francois Lafont wrote:
> Bref, tout ça pour dire que si tu es sous systemd tu devrais laisser > tomber ton script init.d et utiliser systemd directement via une > une unité. Pour le coup (et c'est un des gros intérêts de systemd) > c'est vraiment très simple à écrire. Et là, tu auras une prise > en charge de ton service par systemd qui sera, je pense, correcte. Juste pour te donner un exemple. Sous Debian Jessie, j'ai un script /usr/local/bin/myservice qui est une sorte de daemon dans le sens où il ne rend jamais la main (c'est important avec systemd, apparemment il vaut mieux que le binaire ne rende pas la main ce qui, au passage, rend l'écriture du script encore plus facile). En gros, le script c'est un simple : ----------------------------- while true do ... done ----------------------------- Pour faire de mon script un véritable daemon géré par systemd, j'ai juste à créer le fichier /lib/systemd/system/myservice.service et y mettre ceci : ----------------------------- [Unit] Description=My personal service After=network.target [Service] User=toto Group=toto PIDFile=/var/lib/toto/myservice.pid ExecStart=/usr/local/bin/myservice Restart=on-failure [Install] WantedBy=multi-user.target ----------------------------- Puis : systemctl enable myservice # activation du démarrage automatique du service à chaque boot systemctl start myservice # démarrage du service Et c'est fini. C'est quand même plutôt simple je trouve. Ceci étant je ne suis pas un expert systemd, et si j'ai dit des bêtises, je serais ravi d'avoir vos remarques. ;) -- François Lafont