#!/bin/bash - #环境变量 export PATH=$PATH:/data/home/mmog/server_999/runenv/tools #进程列表 proc_name=( battle_svr_10_999_ag ) #检查进程状态 proc_ok=() proc_no=() for p in ${proc_name[*]};do num=$(ps -ef|grep "${p}"|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}"|grep -v grep|sed 's/\.pid.*//g'|awk '{print $5,$NF}'|sed 's/\s.*\(battle.*_[0-9]\+\).*/ \1/g' 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}"|grep -v grep|sed 's/\.pid.*//g'|awk '{print $5,$NF}'|sed 's/\s.*\(battle.*_[0-9]\+\).*/ \1/g' 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