进程管理,supervisor

安装
pip install supervisor
./echo_supervisord_conf /etc/supervisord.conf

[include]
files = /etc/supervisord.d/*.ini

test.ini

[program:test]
command=php  /mnt/hgfs/www/linuxc/test.php  #执行的命令 ,若是虚拟环境则需要注意命令的路径
directory=/usr/local/php/bin/
user=root  #  执行命令的用户
autorstart=true
autorestart=true
stdout_logfile=/tmp/supervisor.log
loglevel=info  # 日志的级别

consume.ini

[program:consume]
command=/usr/local/php/bin/php  /mnt/hgfs/www/linuxc/consume.php
autorstart=true
autorestart=true
stdout_logfile=/tmp/supervisor.log

启动

supervisord -c supervisord.conf # 指定配置文件启动supervisord

启动spuervisordctl
supervisordctl

supervisordctl常用命令

supervisorctl stop program_name  # 停止某一个进程,program_name 为 [program:x] 里的 x

supervisorctl start program_name  # 启动某个进程

supervisorctl restart program_name  # 重启某个进程

supervisorctl stop groupworker:  # 结束所有属于名为 groupworker 这个分组的进程 (start,restart 同理)

supervisorctl stop groupworker:name1  # 结束 groupworker:name1 这个进程 (start,restart 同理)

supervisorctl stop all  # 停止全部进程,注:start、restartUnlinking stale socket /tmp/supervisor.sock、stop 都不会载入最新的配置文件

supervisorctl reload  # 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程

supervisorctl update  # 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启

[root@centos1 bin]# ./supervisorctl status
consume STOPPED Aug 02 10:47 PM
test RUNNING pid 17365, uptime 0:05:18


在配置文件中去掉 [inet http server]的注释就可在浏览器中通过127.0.0.1:8000中看到图形管理界面