• 检查进程启动情况,开始时间、启动时间、启动进程数、进程数是否正确、PID


    #!/bin/sh
    bin=$(cd `dirname $0`;pwd)
    cd ${bin}
    
    
    ### 定义检查函数
    chk(){
        programName=$1
        correctNum=$2
        programSubName=$3
    
        # 判断是否带子程序名
        if [ -n "${programSubName}" ]
        then
            programNum=$(ps -ef|grep -Ewv "grep|less|more|zgrep|zless|vi|vim|gzip"|grep ${programName}|grep -w ${programSubName}|wc -l)
            info=($(ps -eo pid,lstart,etime,cmd |grep -Ewv "grep|less|more|zgrep|zless|vi|vim|gzip"|grep ${programName}|grep -w ${programSubName}|awk '{print $1" "$3" "$4" "$5" "$6" "$7}'|tail -1))
            program="${programName}|${programSubName}"
        else
            programNum=$(ps -ef|grep -Ewv "grep|less|more|zgrep|zless|vi|vim|gzip"|grep ${programName}|wc -l)
            info=($(ps -eo pid,lstart,etime,cmd |grep -Ewv "grep|less|more|zgrep|zless|vi|vim|gzip"|grep ${programName}|awk '{print $1" "$3" "$4" "$5" "$6" "$7}'|tail -1))
            program=${programName}
        fi
    
        # 解析进程信息
        pid=${info[0]}
        startTime=$(date -d "${info[1]} ${info[2]} ${info[3]} ${info[4]}" "+%Y-%m-%d %H:%M:%S")
        elapsedTime=${info[5]}
    
        # 判断进程数是否一致
        if [ ${programNum} -eq ${correctNum} ]
        then
            printf "${format_str}" "${program}" "ok" "${startTime}" "${elapsedTime}" "${programNum}" "${correctNum}" "${pid}"
        else
            printf "${format_str}" "${program}" "ERROR" "${startTime}" "${elapsedTime}" "${programNum}" "${correctNum}" "${pid}"
        fi
    }
    
    ### 打印表头
    format_str="%-33s %7s %20s %14s %12s %12s %10s
    "
    printf "
    ${format_str}" "ProgramName" "Status" "StartTime" "RunningTime" "ProgramNum" "CorrectNum" "PID"
    
    ### 检查Client进程
    for i in `cat canalInstance`
    do
        chk "CanalClient" 1 ${i}
    done
    
    ### 检查Server进程
    chk "AAAAAAAAAAAAAAAAAAA" 1 aaaaaaaa_00
    chk "BBBBBBBBBBBBBBBBBBB" 1 bbbbbbbb_01
    
    echo
    
    
    ProgramName                        Status            StartTime    RunningTime   ProgramNum   CorrectNum        PID
    CanalClient|eeeeeeeeeeeeee             ok  2019-08-20 18:14:52     5-14:21:12            1            1      19138
    CanalClient|ddddddd                    ok  2019-08-20 18:14:46     5-14:21:18            1            1      18996
    CanalClient|cccccc                     ok  2019-08-20 18:14:38     5-14:21:26            1            1      18723
    CanalClient|ffffffff                   ok  2019-08-20 18:14:30     5-14:21:34            1            1      18654
    CanalClient|hhhhhhhh                   ok  2019-08-20 18:14:24     5-14:21:40            1            1      18574
    CanalClient|iiiiiiii                   ok  2019-08-20 18:14:16     5-14:21:48            1            1      18485
    CanalClient|jjjjjjj                    ok  2019-08-20 18:14:11     5-14:21:53            1            1      18443
    CanalClient|kkkkkkk                    ok  2019-08-20 18:14:06     5-14:21:58            1            1      18384
    CanalClient|lllllll                    ok  2019-08-20 18:13:41     5-14:22:24            1            1      17437
    CanalClient|mmmmmmm                    ok  2019-08-20 18:10:33     5-14:25:32            1            1      14997
    CanalClient|lllllll                    ok  2019-08-20 18:10:13     5-14:25:52            1            1      14627
    CanalClient|ooooooo                    ok  2019-08-20 18:09:48     5-14:26:17            1            1      13382
    CanalClient|aaaaa                      ok  2019-08-20 18:21:42     5-14:14:23            1            1      28419
    CanalClient|bbbb                       ok  2019-08-20 18:07:21     5-14:28:44            1            1       9664
    AAAAAAAAAAAAAAAAAAA|aaaaaaaa_00        ok  2019-08-25 14:20:04       18:16:01            1            1      24445
    BBBBBBBBBBBBBBBBBBB|bbbbbbbb_01        ok  2019-08-25 07:40:04     1-00:56:01            1            1       4999
  • 相关阅读:
    8月30日图雄网站隆重推出三维地图服务系统!!!
    电子地图真的是百花齐放了——百度地图即将发布
    GIS应对新挑战——空间信息网格技术探寻
    C盘和其他盘中间有恢复分区,C盘无法扩展的解决办法之一
    osg绘制ifc工字钢的端面
    protobuf编译
    osg绘图的形式
    colors
    SpeechSynthesisUtterance
    kinova jaco2 控制机械臂动作
  • 原文地址:https://www.cnblogs.com/chenzechao/p/11410366.html
Copyright © 2020-2023  润新知