GNU/Linux >> Tutoriels Linux >  >> Linux

Ajouter un nouveau service à Linux systemd

Étant donné que le System V est progressivement supprimé, il est très probable qu'il faille apprendre à s'entendre avec SYSTEMD, qui est beaucoup plus puissant. Par exemple, une fonctionnalité utile consiste à redémarrer automatiquement les services qui s'arrêtent d'eux-mêmes. De telles fonctionnalités se trouvent par exemple dans BluePill etc. Avec Systemd, il n'est pas nécessaire d'utiliser un tel chien de garde supplémentaire. Voici quelques informations de base sur la création d'un nouveau service appelé "unité" sous Systemd sous Linux.
Systemd a ses fichiers de configuration dans :/etc/systemd/
Dans cet exemple, je vais créer un fichier de configuration Systemd pour un service simple appelé istatd qui devrait démarrer le démon unique avec la commande :/usr/local/bin/istatd -d
Afin de créer un service que seul root peut exploiter, son nouveau fichier de configuration doit être créé sous la forme :/etc/systemd/system/istatd.service
touch /etc/systemd/system/istatd.service
chmod 644 /etc/systemd/system/istatd.service

Contenu :
[Unit]
Description=IStad iPhone monitoring service
#
[Service]
Type=forking
ExecStart=/usr/local/bin/istatd -d
ExecStop=/usr/bin/killall istatd
Restart=on-failure
RestartSec=3
#
[Install]
WantedBy=default.target

Ce fichier de configuration pour l'unité istatd démarrera/arrêtera le démon et le redémarrera s'il s'arrête tout seul 3 sec après avoir été détecté par le watchdog de sa disparition de la liste des processus.
Pour activer la nouvelle configuration et lancer le service exécutez :
systemctl daemon-reload
service istatd start

Les commandes possibles pour démarrer/arrêter/redémarrer/status et le débogage sont :
systemctl {start|stop|restart|status} istatd
OR
service istatd {start|stop|restart|status}

Pour le débogage de Systemd, utilisez la commande :
journalctl -xn
Après toute modification apportée à l'un des fichiers de configuration de Systemd, vous devez exécuter la commande :
systemctl enable istatd
systemctl daemon-reload

Pour plus d'informations sur le fonctionnement de Systemd et la création de ses fichiers de configuration, consultez :
http://patrakov.blogspot.de/2011/01/writing-systemd-service-files.html
et
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html

Quelques autres commandes utiles :

Supprimer complètement un service :
systemctl stop [servicename]
systemctl disable [servicename]
systemctl daemon-reload
systemctl reset-failed


Linux
  1. Linux - Emplacement du script Fsck ?

  2. Comment répertorier les services Systemd sous Linux

  3. Service du système d'exploitation Linux "nfs"

  4. Service du système d'exploitation Linux 'microcode_ctl'

  5. Service d'exploitation Linux "NetFS"

Comment exécuter un script Shell en tant que service SystemD sous Linux

Service d'exploitation Linux "iptables"

Service de système d'exploitation Linux "réseau"

Service d'exploitation Linux "portmap"

Service du système d'exploitation Linux "audité"

Service d'exploitation Linux "hplip"