linux進程監(jiān)控與自動重啟的簡單實現(xiàn)方法
目的:
linux 下服務(wù)器程序會因為各種原因dump掉,就會影響用戶使用,這里提供一個簡單的進程監(jiān)控和重啟功能。
實現(xiàn)原理:
由定時任務(wù)crontab調(diào)用腳本,腳本用ps檢查進程是否存在,如果不存在則重啟并寫入日志。
crontab修改
# crontab -e */5 * * * * /mnt/bindmonitor.sh
/mnt/bindmonitor.sh 的實現(xiàn)
#! /bin/sh host_dir=`echo ~` # 當(dāng)前用戶根目錄 proc_name="/home/wkubuntu/named/sbin/named" # 進程名 file_name="/mnt/bindmonitor.log" # 日志文件 pid=0 proc_num() # 計算進程數(shù) { num=`ps -ef | grep $proc_name | grep -v grep | wc -l` return $num } proc_id() # 進程號 { pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'` } proc_num number=$? if [ $number -eq 0 ] # 判斷進程是否存在 then /home/wkubuntu/named/sbin/named -c /home/wkubuntu/named/etc/named.conf -n 1 & # 重啟進程的命令,請相應(yīng)修改 proc_id # 獲取新進程號 echo ${pid}, `date` >> $file_name # 將新進程號和重啟時間記錄 fi
刪除進程測試
a. #killall -15 named
b. 5分鐘后,cat /mnt/bindmonitor.log看看有無最新的記錄,進程號與# ps -ef |grep named 進程號對應(yīng)。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
相關(guān)文章
centos7利用yum安裝lnmp的教程(linux+nginx+php7.1+mysql5.7)
lnmp相信不用多介紹了,大家應(yīng)該都知道,下面這篇文章主要給大家介紹了關(guān)于centos7利用yum安裝lnmp(linux+nginx+php7.1+mysql5.7)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2018-03-03LNMP下防跨站、跨目錄的安全設(shè)置,僅支持PHP5.3.3以上版本
LNMP一鍵安裝包下存在跨站和跨目錄的問題,跨站和跨目錄影響同服務(wù)器/VPS上的其他網(wǎng)站,最近看PHP 5.3,在5.3.3以上已經(jīng)增加了HOST配置,可以起到防跨站、跨目錄的問題2012-10-10jar包在linux服務(wù)器已經(jīng)運行好但是訪問不到地址的問題及解決方法
這篇文章主要介紹了jar包在linux服務(wù)器已經(jīng)運行好但是訪問不到地址的問題,解決方案是需要修改防火墻開放的端口,查看防火墻開放的端口,本文給大家介紹的非常詳細,需要的朋友可以參考下2022-10-10ubuntu+php環(huán)境下的Memcached 安裝方法
Memcached是一套分散式的高速緩存系統(tǒng),當(dāng)初是Danga Interactive為了LiveJournal所發(fā)展2011-11-11解決linux系統(tǒng)中運行node進程卻無法殺死進程的問題
這篇文章主要介紹了linux系統(tǒng)中運行node進程無法殺死進程的問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02解決linux環(huán)境下時區(qū)無法設(shè)置的問題
在本篇文章里小編給大家整理的是關(guān)于解決linux環(huán)境下時區(qū)無法設(shè)置的問題的方法,需要的朋友們學(xué)習(xí)下。2020-01-01Ubuntu無網(wǎng)絡(luò)標(biāo)識的問題及解決
這篇文章主要介紹了Ubuntu無網(wǎng)絡(luò)標(biāo)識的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04