[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Systemd et scripts /etc/init.d/.



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


Reply to: