我們來自五湖四海,不為別的,只因有共同的愛好,為中國互聯網發展出一分力!

Linux后臺進程管理利器:supervisor

2013年08月22日16:53 閱讀: 16421 次
Linux后臺進程管理利器:supervisor
 
Linux的后臺進程運行有好幾種方法,例如nohup,screen等,但是,如果是一個服務程序,要可靠地在后臺運行,我們就需要把它做成daemon,最好還能監控進程狀態,在意外結束時能自動重啟。
 
supervisor就是用Python開發的一套通用的進程管理程序,能將一個普通的命令行進程變為后臺daemon,并監控進程狀態,異常退出時能自動重啟。
 
安裝supervisor
Debian / Ubuntu可以直接通過apt安裝:
 
[html] 
#apt-get install supervisor  
 
然后,給我們自己開發的應用程序編寫一個配置文件,讓supervisor來管理它。每個進程的配置文件都可以單獨分拆,放在/etc/supervisor/conf.d/目錄下,以.conf作為擴展名,例如,app.conf定義了一個gunicorn的進程:
 
[html] 
[program:app]  
command=/usr/bin/gunicorn -w 1 wsgiapp:application  
directory=/srv/www  
user=www-data  
 
其中,進程app定義在[program:app]中,command是命令,directory是進程的當前目錄,user是進程運行的用戶身份。
 
重啟supervisor,讓配置文件生效,然后運行命令supervisorctl啟動進程:
 
[html] 
# supervisorctl start app  
 
 
停止進程:
 
[html] 
# supervisorctl stop app  
 
 
如果要在命令行中使用變量,就需要自己先編寫一個shell腳本:
 
[html] 
#!/bin/sh  
/usr/bin/gunicorn -w `grep -c ^processor /proc/cpuinfo` wsgiapp:application  
 
然后,加上x權限,再把command指向該shell腳本即可。

 

分享到: 更多
藍客門戶
©2001-2019 中國藍客聯盟 版權所有.
關于藍客聯盟歷史宗旨章程技術服務聯系我們藍客社區

云南11选5遗漏