Previous Article Next Article CentOS7 透過 systemd 自動讓服務 restart 重啟
Posted in Linux

CentOS7 透過 systemd 自動讓服務 restart 重啟

CentOS7 透過 systemd 自動讓服務 restart 重啟 Posted on 2019 年 02 月 15 日Leave a comment

假如今天我要讓 apache 服務失敗後自動重啟,就可以用 CentOS7 的 systemd 內鍵重啟 restart 程序的功能,如下

vi /usr/lib/systemd/system/httpd.service

[Service]
# ...
# 加入
Restart=on-failure # 什麼情況下重啟 "always", "on-success", "on-failure", "on-abnormal", "on-abort", or "on-watchdog"
RestartSec=5s # 如果啟用了自動重新啟動服務,指定在嘗試重新啟動服務之前等待的時間
#ExecStartPre=/path/execstartpre.sh # 可以讓程序啟動前作什麼事
#ExecStartPost=/path/execstartpost.sh # 可以讓程序啟動後作什麼事
systemctl daemon-reload

測試 (前提是 httpd.service 是啟用的,如果沒有, restart 功能是無用的)

所以我直接用 ↓↓↓ 把 httpd 停掉

killall httpd

用另一視窗查看狀態

watch lsof -i :80

過了 5 秒 httpd 就自己起來了

假如 vi /usr/lib/systemd/system/httpd.service 改壞了, 記得還要 systemctl restart httpd.service ,不然服務還是不會起來

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *