supervisor - Python进程管理工具
1.下载
apt-get install supervisor
2.修改配置文件
vim /etc/supervisor/supervisord.conf
[program:process_node]
command=python /home/x/mt4client/process_node.py -n ss1@127.0.0.1 -c 123456 2>&1 &
autorstart=true
stdout_logfile=/home/x/mt4client/log/process_node.log
3.启动
/etc/init.d/supervisor start
启动的时候遇到错误
Starting supervisor: Unlinking stale socket /var/run/supervisor.sock Traceback (most recent call last): File "/usr/bin/supervisord", line 9, in <module> load_entry_point('supervisor==3.0a8', 'console_scripts', 'supervisord')() File "/usr/lib/pymodules/python2.7/supervisor/supervisord.py", line 371, in main go(options) File "/usr/lib/pymodules/python2.7/supervisor/supervisord.py", line 381, in go d.main() File "/usr/lib/pymodules/python2.7/supervisor/supervisord.py", line 94, in main self.run() File "/usr/lib/pymodules/python2.7/supervisor/supervisord.py", line 104, in run self.options.openhttpservers(self) File "/usr/lib/pymodules/python2.7/supervisor/options.py", line 1039, in openhttpservers self.httpservers = self.make_http_servers(supervisord) File "/usr/lib/pymodules/python2.7/supervisor/options.py", line 1242, in make_http_servers return make_http_servers(self, supervisord) File "/usr/lib/pymodules/python2.7/supervisor/http.py", line 799, in make_http_servers from web import supervisor_ui_handler File "/usr/lib/pymodules/python2.7/supervisor/web.py", line 29, in <module> import meld3 File "/usr/lib/pymodules/python2.7/meld3/__init__.py", line 2, in <module> from meld3 import parse_xml File "/usr/lib/pymodules/python2.7/meld3/meld3.py", line 27, in <module> from xml.etree.ElementTree import fixtag ImportError: cannot import name fixtag
找了下资料要安装
aptitude install python-meld3 pip install meld3==0.6.7
又报错
The program 'aptitude' can be found in the following packages: * aptitude * aptitude-gtk Try: apt-get install <selected package>
继续
apt-get install aptitude aptitude-gtk
遇到的错误2
* Starting Supervisor daemon manager... Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord. For help, use /usr/bin/supervisord -h ...fail!
解决办法
find / -name supervisor.sock unlink /***/supervisor.sock
OK 成功程序起来了
sudo supervisorctl status hello -- 获取hello服务的状态,因为是autorstart,这里已经启动了 hello RUNNING pid 1159, uptime 0:20:32
sudo supervisorctl status hello -- 获取hello服务的状态,因为是autorstart,这里已经启动了 hello RUNNING pid 1159, uptime 0:20:32
sudo supervisorctl stop hello -- 停止hello服务 hello: stopped
sudo supervisorctl stop hello -- 再次停止hello,会有错误信息 hello: ERROR (not running)
sudo supervisorctl start hello -- 启动hello服务 hello: started