Répondre uniquement à la partie redémarrage du service. J'ai également rencontré Monit, mais sur CentOS 7, systemd s'occupe de tout cela pour vous. Vous avez juste besoin d'ajouter ces deux lignes au fichier .service (si elles ne sont pas déjà là):
Restart=always
RestartSec=3
Voir https://jonarcher.info/2015/08/ensure-systemd-services-restart-on-failure/ pour référence.
Si vous souhaitez créer un service systemd personnalisé, il est assez simple d'écrire votre propre fichier de service. Voir l'exemple ci-dessous, pour un serveur http personnalisé.
Démarrez l'éditeur avec un nouveau fichier de service:
vim /etc/systemd/system/httpd.service
Et ajoutez le contenu suivant, que vous pouvez modifier si nécessaire:
[Unit]
Description=My httpd Service
After=network.target
[Service]
Type=simple
User=root
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PERLLIB=/perl
ExecStart=/bin/httpd /etc/httpd.conf
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
Je veux qu'il démarre automatiquement au démarrage:
systemctl enable httpd
Informez systemd des modifications et démarrez le service:
systemctl daemon-reload
systemctl start httpd
Et maintenant, vous pouvez voir le statut:
systemctl status httpd
Pour référence, voir https://scottlinux.com/2014/12/08/how-to-create-a-systemd-service-in-linux-centos-7/