Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux Supervisor 進程管理工具完整指南

編輯:關於 Linux

前言

Supervisor 是一個用 Python 開發的進程管理工具,可將非守護進程轉為守護進程運行,提供進程啟動、停止、重啟、狀態監控、日誌管理等功能,廣泛用於生產環境管理 Web 應用、佇列工作者等長期運行進程。

Supervisor 核心特性

優點缺點
設定檔簡單(INI 格式)被管理進程必須以前景模式運行
精準的進程控制(啟動/停止/重啟)Supervisor 退出會導致受管進程一同退出
支援進程群組管理
提供 XML-RPC 擴展介面
支援 FastCGI 進程管理
事件監聽支援(如定時任務觸發)

基本設定檔範例 (/etc/supervisor/supervisord.conf)

[unix_http_server]
file=/var/run/supervisor.sock
chmod=0700

[supervisord]
logfile=/var/log/supervisor/supervisord.log
pidfile=/var/run/supervisord.pid
childlogdir=/var/log/supervisor

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock

[program:myapp]
command=/opt/myapp/bin/run.sh
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/myapp.log

[include]
files = /etc/supervisor/conf.d/*.conf

常用管理指令

  • supervisorctl status - 查看所有受管進程狀態
  • supervisorctl start|stop|restart - 啟動/停止/重啟指定進程
  • supervisorctl reload - 重新載入設定並重啟 supervisord
  • supervisorctl tail -f - 即時查看進程輸出日誌

進階應用:FastCGI 進程管理

在 [program:php-fpm] 區塊設定 command=php-fpm、process_name=%(program_name)s_%(process_num)02d、numprocs=4 即可讓 Supervisor 管理多個 PHP-FPM 工作者進程。

結語

Supervisor 以輕量、易設定、功能完整著稱,是 Linux 伺服器上管理長期運行進程的首選工具。善用其群組管理、事件監聽與 RPC 擴展,可構建健壯的進程監控體系。

Copyright © Windows教程網 All Rights Reserved