【Python】使用Supervisor來管理Python的進程

來源:互聯網
上載者:User

標籤: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的進程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.