supervisorctl
是 Supervisor 的命令行工具,用來管理和控制進程(processes)。Supervisor 是一個進程管理工具,主要用於在 UNIX-like 系統上管理長期運行的進程。
以下是 supervisorctl
的基本用法和一些常用指令:
基本用法
- 啟動
supervisorctl
:
supervisorctl
這將進入 supervisorctl
互動模式。
- 執行單個命令:
supervisorctl <command> [args...]
可以直接在命令行中執行單個指令而不進入互動模式。
常用指令
- status:
查看所有受 Supervisor 管理的進程狀態。
supervisorctl status
- start :
啟動指定的進程。
supervisorctl start <process_name>
- stop :
停止指定的進程。
supervisorctl stop <process_name>
- restart :
重啟指定的進程。
supervisorctl restart <process_name>
- reload:
重新加載配置文件,並應用對進程的變更。
supervisorctl reload
- update:
根據當前的配置文件,更新 Supervisor 的進程列表。這個命令會啟動新增的進程,並停止被移除的進程。
supervisorctl update
配置文件
Supervisor 的配置文件通常位於 /etc/supervisord.conf
,其中包含所有受監控進程的配置。以下是一個簡單的進程配置範例:
[program:example]
command=/path/to/command
autostart=true
autorestart=true
stderr_logfile=/var/log/example.err.log
stdout_logfile=/var/log/example.out.log
command
:指定要運行的命令。autostart
:設置為true
表示在 Supervisor 啟動時自動啟動此進程。autorestart
:設置為true
表示進程崩潰時自動重啟。stderr_logfile
和stdout_logfile
:指定錯誤和輸出日誌文件的路徑。
範例
假設你有一個名為 myapp
的進程,你可以這樣管理它:
- 啟動
myapp
:
supervisorctl start myapp
- 停止
myapp
:
supervisorctl stop myapp
- 查看
myapp
的狀態:
supervisorctl status myapp
這些是 supervisorctl
的基本用法和說明。如果需要更多詳細信息,可以參考 Supervisor 官方文檔。