ตอบเฉพาะส่วนบริการรีสตาร์ทเท่านั้น ฉันเจอ 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/