標籤:刪除 管理程式 use emc sys ecs tar 重要 lib
Systemd 是 Linux 系統工具,用來啟動守護進程,已成為大多數發行版的標準配置。可以通過 systemctl --version
命令來查看使用的版本
常用命令
# 立即啟動一個服務$ sudo systemctl start apache.service# 立即停止一個服務$ sudo systemctl stop apache.service# 重啟一個服務$ sudo systemctl restart apache.service# 殺死一個服務的所有子進程$ sudo systemctl kill apache.service# 重新載入一個服務的設定檔$ sudo systemctl reload apache.service# 重載所有修改過的設定檔$ sudo systemctl daemon-reload# 顯示某個 Unit 的所有底層參數$ systemctl show httpd.service
Supervisor
Supervisor是是一個用python寫的進程管理程式,不僅僅可以用來管理進程,還可以用來做開機啟動。它有但不限於以下一些功能:
重啟機器後,能夠自啟動。
平時有個方便的進程查看方式。
能夠有個方便的方式重啟進程。
配置方法這裡就不做記錄了,不過要注意,預設的設定檔裡面會把一些supervisor產生的重要檔案放到 /tmp
目錄下面,作業系統可能會把這些檔案進行刪除,導致 supervisorctl
命令由於找不到這些以前放到 /tmp
的檔案而操作不了已經啟動的supervisor進程。
方法
為了能夠在機器啟動之後自動啟動supervisor,需要把supervisor進程配置進systemd,
步驟:
- 進入目錄
/usr/lib/systemd/system/
,增加檔案 supervisord.service
,來使得機器啟動的時候啟動supervisor,檔案內容
# supervisord service for systemd (CentOS 7.0+)# by ET-CS (https://github.com/ET-CS)[Unit]Description=Supervisor daemon[Service]Type=forkingExecStart=/usr/bin/supervisord -c /etc/supervisord.confExecStop=/usr/bin/supervisorctl $OPTIONS shutdownExecReload=/usr/bin/supervisorctl $OPTIONS reloadKillMode=processRestart=on-failureRestartSec=42s[Install]WantedBy=multi-user.target
啟用開機啟動命令
systemctl enable supervisord.service
啟動supervisor進程
systemctl start supervisord.service
關閉supervisor進程
systemctl stop supervisord.service
如果修改了supervisor.service檔案,可以通過reload命令來重新載入設定檔
systemctl reload supervisord.service
檢查
可以通過 ps
命令可以查看supervisor 是否啟動,並且可以查看supervisor管理的進程是否啟動。
在centos上面開機自啟動某個程式