濮阳杆衣贸易有限公司

主頁 > 知識庫 > 用于檢測進程的shell腳本代碼小結(jié)

用于檢測進程的shell腳本代碼小結(jié)

熱門標(biāo)簽:百度地圖標(biāo)注錯了有責(zé)任嗎 華鋒e路航港口地圖標(biāo)注 地圖標(biāo)注員都是年輕人 如果做線上地圖標(biāo)注 揭陽智能電話機器人推薦 江蘇云電銷機器人公司 河南信譽好的不封卡電話外呼系統(tǒng) 客服外呼系統(tǒng)怎么樣 打電話機器人接我是他的秘書

一個簡單的shell腳本,用來找出關(guān)鍵的服務(wù)是否正在運行,適用于Linux或Unix操作系統(tǒng)。
該腳本還可以使用電子郵件發(fā)送通知。

代碼:

復(fù)制代碼 代碼如下:

#!/bin/bash
# Name : service.chk 服務(wù)檢測腳本
## 根據(jù)自己的環(huán)境修改
_pgrep="/usr/bin/pgrep"
_mail="/usr/bin/mail"

## 環(huán)境變量
_chklist="/usr/bin/php-cgi /usr/sbin/nginx /usr/sbin/lighttpd /usr/sbin/mysqld /usr/sbin/apache2 /usr/sbin/named /usr/sbin/pgsqld"

## yes | no
_sendemail="no"

## email
_email="test@jb51.net"

## 不要修改如下配置
_failed="false"
_service="Service:"

_running() {
 local p="${1##*/}"
 local s="true"
 $_pgrep "${p}" >/dev/null || { s="false"; _failed="true"; _service="${_service} $1,"; }
 [[ "$s" == "true" ]] echo "$1 running" || { echo -n "$1 not running"; [[ ! -f "$1" ]] echo " [ $1 not found ]" || echo ; }
}

## header
echo "Service status on ${HOSTNAME} @ $(date)"
echo "------------------------------------------------------"

## Check if your service is running or not
for s in $_chklist
do
 _running "$s"
done

## Send a quick email update (good for cron jobs) ##
[[ "$_failed" == "true" "$_sendemail" == "yes" ]] { _mess="$_service failed on $HOSTNAME @ $(date)";
$_mail -s 'Service not found' "$_email" "${_mess}";
}

結(jié)果:



下面是一些小段代碼,大家也可以參考下

腳本一:

復(fù)制代碼 代碼如下:

#!/bin/sh
program=XXXX     #進程名
sn=`ps -ef | grep $program | grep -v grep |awk '{print $2}'`  #獲得進程端口號
if [ "${sn}" = "" ]    #如果為空,表示進程未啟動
then
nohup /home/oracle/XXXX      #后臺啟動進程
echo start ok !
else
echo running
fi

 

腳本二:

復(fù)制代碼 代碼如下:

#!/bin/sh
ps -ef |grep ./FileServer > /dev/null 2>1  #檢測進程寫入/dev/null
if [ $? -eq 0 ]  #0為正常
then
echo logprocess run ok!
else
nohup /home/oracle/XXXX

echo start ok !
fi


 

腳本三:

復(fù)制代碼 代碼如下:

#!/bin/sh

count=`ps -fe |grep "a.out" | grep -v "grep" | wc -l`
if [ $count -lt 1 ]; then
/root/sh/restart.sh


 

腳本四:

復(fù)制代碼 代碼如下:

PNAME="authd"
PATHNAME=/root/cauthd/build/
LENGTH=`ps -ef|grep "$PNAME"|grep -v grep|cut -b 49-200|wc -c `
if test $LENGTH -eq 0
then
cd $PATHNAME
nohup $PNAME >/dev/null

 

腳本五:

復(fù)制代碼 代碼如下:

#! /bin/bash
echo "請輸入進程名:"
read process
echo "你要查找的進程是 $process ,正在查找..."
ps > text1
grep "$process" text1

declare -i a=$?
if [ $a -eq 0 ]
then
echo "該進程存在"
else
echo "該進程不存在"
fi
rm text1 
 

您可能感興趣的文章:
  • linux下監(jiān)視進程 崩潰掛掉后自動重啟的shell腳本
  • kill特定進程的shell腳本代碼
  • shell grep 查找進程的小技巧
  • Linux Shell中判斷進程是否存在的代碼

標(biāo)簽:婁底 巴彥淖爾 馬鞍山 許昌 邵陽 金昌 赤峰 淘寶邀評

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用于檢測進程的shell腳本代碼小結(jié)》,本文關(guān)鍵詞  用于,檢測,進程,的,shell,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《用于檢測進程的shell腳本代碼小結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于用于檢測進程的shell腳本代碼小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    临沂市| 嘉黎县| 司法| 清徐县| 巴林左旗| 萍乡市| 长治市| 曲沃县| 漯河市| 曲麻莱县| 吴堡县| 裕民县| 勐海县| 桂林市| 黑山县| 武义县| 华蓥市| 辛集市| 高阳县| 通州区| 岗巴县| 公安县| 库车县| 宝鸡市| 淄博市| 宜兰市| 南充市| 湘潭市| 漠河县| 张北县| 新晃| 江西省| 葵青区| 德令哈市| 丽江市| 临汾市| 榆社县| 贺州市| 河东区| 盐边县| 隆子县|