標籤:python supervisor
1.問題描述
需要一個python的服務程式在後台一直運行,不能讓該進程被殺死,即使被殺死也要能及時自動重啟。如:有一個python的程式:test.py ,通過命令:python test.py來運行程式,但是它會受命令列的中斷而中斷。所以我們需要一個方法來保證該程式一直在後台運行。
2.解決方案
以前經常用命令:nohup python test.py & 來保證其在後台運行不中斷,但是這也不能保證一直運行。
下面介紹用supervisor來管理python的進程,保證其在後台一直運行不中斷。
(1)安裝supervisor
在命令列輸入:sudo apt-get install supervisor 來安裝supervisor
測試安裝是否成功,在命令列輸入:supervis 再按tab鍵,看其是否能補全命令:supervisor,如果能則表示安裝成功
(2)配置supervisord.conf檔案
找到supervisord.conf設定檔,一般在/etc/ 目錄下,或者在/etc/supervisor/ 目錄下,用root許可權開啟該檔案:sudo vim supervisord.conf,否則不能進行修改。
在檔案末尾添加如下幾行:
[program:myProgram]
command=python /home/myname/test.py
autostart=true
autorestart=ture
stdout_logfile=/home/myname/test.log
注釋:第一行的myProgram自己取個名字,表示你的項目就行
第二行的python /home/myname/test.py表示你運行程式的命令
第三行表示自動啟動,如果值為false則表示不自動啟動
第四行表示自動重啟,如果值為false則表示不自動重啟
最後一樣表示程式列印出的資訊都記錄在該test.log檔案內,是log檔案
(3)使用supervisor
配置完之後,命令列輸入:sudo supervisord 就可以了。
你可以kill掉你程式的進程,然後再看,發現它自動重啟了,不用擔心會被kill掉。
好了,希望對大家有協助。
-----------------------------------------------------------------------------------------------------------------------------------------
【Python】使用Supervisor來管理Python的進程