掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
Supervisor是用Python開發(fā)的一套通用的進程管理程序,能將一個普通的命令行進程變?yōu)楹笈_daemon,并監(jiān)控進程狀態(tài),異常退出時能自動重啟。它是通過fork/exec的方式把這些被管理的進程當作supervisor的子進程來啟動,這樣只要在supervisor的配置文件中,把要管理的進程的可執(zhí)行文件的路徑寫進去即可。

創(chuàng)新互聯(lián)公司專注于網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點出發(fā),讓客戶在網(wǎng)絡(luò)營銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴謹?shù)膽B(tài)度對待客戶,用專業(yè)的服務(wù)創(chuàng)造價值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。
# apt-get install python supervisor
# cat /etc/supervisor/conf.d/mini_breakpad.conf
[program:minibreakpad] //進程名稱
directory = /root/error/mini-breakpad-server //程序的啟動目錄
command = node lib/app.js //啟動命令
autostart = true //在supervisord 啟動的時候也自動啟動
startsecs = 5 //啟動5秒后沒有退出就當做已經(jīng)正常啟動
autorestart = true //程序異常退出后自動重啟
startretries = 5 //啟動失敗自動重試次數(shù) 5
user = root //用哪個用戶啟動
redirect_stderr = true //把 stderr 重定向到 stdout 默認 false,如果是false就不需要設(shè)置下面的log配置
stdout_logfile_maxbytes = 20MB //stdout 日志文件大小,默認50MB
stdout_logfile_backups = 20 //stdout 日志文件備份數(shù)
//stdout 日志文件,需要注意當指定目錄不存在時無法正常啟動,所以需要手動創(chuàng)建目錄(supervisord 會自動創(chuàng)建日志文件)
stdout_logfile = /root/error/mini-breakpad-server/logs/stdout.log
# /etc/init.d/supervisor restart
# supervisorctl status
minibreakpad RUNNING pid 17655, uptime 2:57:07
注意:如果在后臺運行的程序,有守護進程的,就不要用supervisor,用了nohup也不行。會報以下錯誤
# supervisorctl status
minibreakpad FATAL Exited too quickly (process log may have details)

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流