#!/bin/bash - #环境变量 export PATH=$PATH:/data/home/mmog/server_999/runenv/tools #进程列表 proc_name=( logd_10_999_svr logload_10_999_svr logload_oper_10_999_svr logload_json_10_999_svr ) #检查进程状态 proc_ok=() proc_no=() for p in ${proc_name[*]};do num=$(ps -ef|grep "${p}.pid"|grep -v grep|wc -l) if [ ${num} == "0" ];then length=${#proc_no[*]} proc_no[${length}]=$p else length=${#proc_ok[*]} proc_ok[${length}]=$p fi done #本地打印格式 function local_print(){ echo "------------------------------" echo " 墨迹大侠_中顺_999服 " echo "------------------------------" echo " 已启动进程信息 " echo "------------------------------" for i in ${proc_ok[*]};do ps -ef|grep "${i}.pid"|grep -v grep|awk -v "name=$i" '{print $5,name}' done echo "------------------------------" echo " 未启动进程信息 " echo "------------------------------" for i in ${proc_no[*]};do echo "$i" done echo "------------------------------" } #远程打印格式 function remote_print(){ #打印启动进程信息 echo "" if [ "${#proc_ok[*]}" == "0" ]; then echo "_love_" else for i in ${proc_ok[*]};do ps -ef|grep "${i}.pid"|grep -v grep|awk -v "name=$i" '{print $5,name}' done fi echo "" #打印停止进程信息 echo "" if [ "${#proc_no[*]}" == "0" ]; then echo "_love_" else for i in ${proc_no[*]};do echo "$i" done fi echo "" } #打印检查结果 function check_result(){ if [ -z $1 ];then local_print else remote_print fi } #打印当前进程状态 check_result $1