Только отвечая на сервис перезапустите часть. Я также сталкивался с Monit, но на CentOS 7 systemd обо всем позаботится за вас. Вам просто нужно добавить эти две строки в файл .service (если их там уже нет):
Restart=always
RestartSec=3
См. Https://jonarcher.info/2015/08/ensure-systemd-services-restart-on-failure/ для справки.
Если вы хотите создать собственный сервис systemd, написать собственный файл сервиса довольно просто. Смотрите пример ниже, для пользовательского http-сервера.
Запустите редактор с новым служебным файлом:
vim /etc/systemd/system/httpd.service
И добавьте следующий контент, который вы можете редактировать по мере необходимости:
[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
Я хочу, чтобы он запускался автоматически при загрузке:
systemctl enable httpd
Расскажите systemd об изменениях и запустите сервис:
systemctl daemon-reload
systemctl start httpd
И теперь вы можете увидеть статус:
systemctl status httpd
Для справки см. Https://scottlinux.com/2014/12/08/how-to-create-a-systemd-service-in-linux-centos-7/