使用supervisor進行守護進程,防止服務掛掉

最近項目中使用的數據接口服務如TSDB,kafka,訂閱服務等在掛掉幾次後,爲了防止影響主系統的使用,我們要進行守護進程,在進程掛掉後自動拉起。

1.安裝教程  https://www.cnblogs.com/toutou/p/supervisor.html

2.上面那個有問題的時候,在linux有python和pip的時候根據下面的教程安裝

https://blog.csdn.net/qq_37049781/article/details/89097216

在完成安裝後,接下來就是修改配置文件了。

我們根據命令:echo_supervisord_conf > /etc/supervisord.conf  生成了conf文件,這個是主文件。

在修改配置文件之前先創建一個文件夾,執行命令:mkdir supervisor

將conf文件放到文件夾中,看一下我的文件結構

接下來配置conf  執行命令:vi   /etc/supervisord.conf

拉到最底下看到

這個代表執行supervisor的時候會執行這個文件下所有的ini文件

我們將需要守護進程的腳本執行命令在這些ini文件中進行配置

下面爲ini文件裏的詳細信息(可能模糊,全圖查看就好)

ini配置:

[program:kafkaRedis]
process_name=%(program_name)s_%(process_num)02d
command=執行命令
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/etc/supervisor/logs/kafkaRedis.log

我有三個需要守護的進程,所以我建了三個ini文件,只有上圖的三項不一樣,其他都不需更改

配置完後進行啓動,直接讀取conf文件啓動

supervisord -c /etc/supervisord.conf

啓動完可以通過supervisorctl查看檢測的進程

通過ps -ef|grep 端口號命令  查看進程是否在線

再通過kill -9 端口號命令殺死進程再看程序會不會自動拉起

根據上圖看到,在我kill掉進程之後supervisor自動拉起了守護的進程


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章