linux进程监控自动重启,Linux监控进程,进程关闭自动重启方案
Linux監(jiān)控進(jìn)程,進(jìn)程關(guān)閉自動重啟方案
corntab+shell腳本檢測進(jìn)程
這個(gè)方案簡單不用額外安裝軟件。
缺點(diǎn)是存在間隔,corntab設(shè)置1秒執(zhí)行一次shell腳本也是存在間隔的
#!/bin/bash
#@author smallForest
#@email 1032817724@qq.com
proc_name="xiaofei.php" #進(jìn)程名字
proc_num()
{
num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
return $num
}
proc_num
number=$?
echo $number
if [ $number -eq 0 ]
then
#cd /Applications/MAMP/htdocs/aa/bb/public #進(jìn)入路徑
nohup php xiaofei.php >xiaofei 2>&1 & # 創(chuàng)建守護(hù)進(jìn)程
fi
supervisor方案
此方案反應(yīng)速度快,對系統(tǒng)資源消耗較大
安裝Python
yum install python-setuptools
安裝Supervisor
easy_install supervisor
查看是否成功
echo_supervisord_conf有輸出就正確
創(chuàng)建目錄,初始化配置
mkdir /usr/supervisor
echo_supervisord_conf > /usr/supervisor/supervisord.conf
mkdir /usr/supervisor/supervisord.d/
修改系統(tǒng)配置文件
vim /usr/supervisor/supervisord.conf
include增加一行
[include]
files = /usr/supervisor/supervisord.d/*.conf
啟動supervisor
supervisord -c /usr/supervisor/supervisord.conf
lsof -i:9001查看端口
創(chuàng)建子配置文件
vim /usr/supervisor/supervisord.d/supervisor_test_one.conf
輸入
[program:test_one]
command=php /root/lianxi_php/xiaofei.php ; 被監(jiān)控的進(jìn)程路徑
priority=1 ; 數(shù)字越高,優(yōu)先級越高
numprocs=1 ; 啟動幾個(gè)進(jìn)程
autostart=true ; 隨著supervisord的啟動而啟動
autorestart=true ; 自動重啟
startretries=10 ; 啟動失敗時(shí)的最多重試次數(shù)
exitcodes=0 ; 正常退出代碼
stopsignal=KILL ; 用來殺死進(jìn)程的信號
stopwaitsecs=10 ; 發(fā)送SIGKILL前的等待時(shí)間
redirect_stderr=true ; 重定向stderr到stdout
重新啟動supervisor
supervisord -c /usr/supervisor/supervisord.conf
會有一個(gè)supervisor> 輸入reload
這是順利情況下。不順利的話就需要不停的查看日志了
參考link
總結(jié)
以上是生活随笔為你收集整理的linux进程监控自动重启,Linux监控进程,进程关闭自动重启方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java--Mybatis万字长文经典面
- 下一篇: 基于Java SSM springboo