检查进程启动情况,开始时间启动时间启动进程数进程数是否正确PID
Posted chenzechao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查进程启动情况,开始时间启动时间启动进程数进程数是否正确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\n" printf "\n$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
以上是关于检查进程启动情况,开始时间启动时间启动进程数进程数是否正确PID的主要内容,如果未能解决你的问题,请参考以下文章