linux杀掉进程后总是重启,Linux监控进程,进程关闭自动重启方案
Linux監控進程,進程關閉自動重啟方案
corntab+shell腳本檢測進程
這個方案簡單不用額外安裝軟件。
缺點是存在間隔,corntab設置1秒執行一次shell腳本也是存在間隔的
#!/bin/bash
#@author smallForest
#@email 1032817724@qq.com
proc_name="xiaofei.php" #進程名字
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 #進入路徑
nohup php xiaofei.php >xiaofei 2>&1 & # 創建守護進程
fi
supervisor方案
此方案反應速度快,對系統資源消耗較大
安裝Python
yum install python-setuptools
安裝Supervisor
easy_install supervisor
查看是否成功
echo_supervisord_conf有輸出就正確
創建目錄,初始化配置
mkdir /usr/supervisor
echo_supervisord_conf > /usr/supervisor/supervisord.conf
mkdir /usr/supervisor/supervisord.d/
修改系統配置文件
vim /usr/supervisor/supervisord.conf
include增加一行
[include]
files = /usr/supervisor/supervisord.d/*.conf
啟動supervisor
supervisord -c /usr/supervisor/supervisord.conf
lsof -i:9001查看端口
創建子配置文件
vim /usr/supervisor/supervisord.d/supervisor_test_one.conf
輸入
[program:test_one]
command=php /root/lianxi_php/xiaofei.php ; 被監控的進程路徑
priority=1 ; 數字越高,優先級越高
numprocs=1 ; 啟動幾個進程
autostart=true ; 隨著supervisord的啟動而啟動
autorestart=true ; 自動重啟
startretries=10 ; 啟動失敗時的最多重試次數
exitcodes=0 ; 正常退出代碼
stopsignal=KILL ; 用來殺死進程的信號
stopwaitsecs=10 ; 發送SIGKILL前的等待時間
redirect_stderr=true ; 重定向stderr到stdout
重新啟動supervisor
supervisord -c /usr/supervisor/supervisord.conf
會有一個supervisor> 輸入reload
這是順利情況下。不順利的話就需要不停的查看日志了
總結
以上是生活随笔為你收集整理的linux杀掉进程后总是重启,Linux监控进程,进程关闭自动重启方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker mysql总是退出_Doc
- 下一篇: 晶振波形不是正弦波_晶振的分类及其应用