後台程序管理工具 supervisor

2022-08-19 09:09:10 字數 1557 閱讀 1162

supervisor是乙個linux下的程序管理工具,有時須要開發一些後台服務類的程式。這類程式通常不能由於意外掛程式掉。所以最好能在出現意外掛程式掉的情況下可以重新啟動,繼續服務。

之前我一直採用建立daemon,即守護程序的方式來實現,再通過其它程序監控,近期發現了這個後台程序管理神器。通過supervisor,可以將命令列的控制台程式輕鬆變為daemon,而且在意外掛程式掉時,supervisor可以自己主動幫我們重新啟動。

系統環境 ubuntu14.04,其它發行版linux安裝配置大體同樣

以下以乙個小樣例展示supervisor的簡單使用

如果我們在/root/test資料夾下,要執行乙個test.py檔案,並希望它成為守護程序在後台執行,而且在掛掉時可以被即時重新啟動,盡可能的繼續服務。

首先安裝supervisor

sudo apt-get install supervisor

也能夠通過pip安裝

pip install supervisor

也可通過easy_install

easy_install supervisor

配置進入/etc/supervisor/conf.d資料夾

加入乙個test.conf配置檔案來配置我們的程序

[program:test]

command=python test.py

directory=/root/test

autorestart=true

user=root

當中[program:test]指定了該配置的名字,即後面通過supervisorctl start [配置程序名] 中的配置程序名

command指定了執行的命令,這裡是乙個python檔案。我們通過python test.py執行

directory制定了test.py檔案所在的路徑

autorestart指定程序意外終止時可以被重新啟動

user指定了執行該程式的使用者

你也能夠直接將上面的配置直接寫入到/etc/supervisor/supervisord.conf檔案裡,效果與上面一致。

過載配置檔案

增加配置檔案之後,我們須要讓supervisor又一次讀取配置檔案,以便我們的配置可以生效

supervisorctl update

刪除配置檔案,也要執行 supervisorctl update

啟動程序

supervisorctl start test

當中test即為配置中寫入的[program:test]。該命令的效果與python test.py一致,僅僅是讓其以守護程序方式執行,而且程序意外終止時會被supervisor重新啟動

因為在配置檔案裡。指定了該程序意外終止會被重新啟動。因此我們不能通過殺掉該程序的方法來結束程序。而是通過supervisor

終止程序

supervisorctl stop test

重新啟動程序

supervisorctl restart test

很多其它關於supervisor的內容能夠參考官方文件 

linux後台程序管理工具supervisor

linux的後台程序執行有好幾種方法,例如nohup,screen等,但是,如果是乙個服務程式,要可靠地在後台執行,我們就需要把它做成daemon,最好還能監控程序狀態,在意外結束時能自動重啟。supervisor就是用python開發的一套通用的程序管理程式,能將乙個普通的命令列程序變為後台dae...

linux 使用程序管理工具 supervisor

1.supervisor是使用python進行開發的執行在linux伺服器上的程序管理工具 老版本的supervisor需要執行在python2環境,如果需要使用supervisor管理python3的專案,需要借助於虛擬環境 事實上現在已經支援python3了 2.安裝supervisor pip...

程序管理工具

程序管理 pstree作用是以程序樹的形式顯示程序 例如 pstree 8123 顯示程序名不顯示各個程序號 pstree p 8123 顯示程序名稱及各級程序的程序號 ps作用是顯示當前所有執行程序的詳細資訊 例如 ps aux 顯示所有包含其他使用者的行程 ps aux 選項 a 顯示包括所有終...