Лише відповідаючи на частину перезавантаження служби. Я також натрапив на Monit, але на CentOS 7 systemd піклується про все це для вас. Вам просто потрібно додати ці два рядки до файлу .service (якщо їх там уже немає):
Restart=always
RestartSec=3
Довідково дивіться на https://jonarcher.info/2015/08/ensure-systemd-services-restart-on-failure/ .
Якщо ви хочете створити власну системну службу, досить просто написати власний файл сервісу. Дивіться приклад нижче для користувальницького сервера 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/