#!/bin/bash - #环境变量 export PATH=$PATH:/data/home/mmog/center_relay_900_1/tools #进程列表 proc_name=( center_relay_10_900_1_ag relay_busd_svr_10_900_1_ag ) #检查进程状态 proc_ok=() proc_no=() for p in ${proc_name[*]};do num=$(ps -ef|grep agame_zs_900 |awk '{print $(NF-2)}'|grep "${p}"|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 " 墨迹大侠_中顺_900_1服 " echo "------------------------------" echo " 已启动进程信息 " echo "------------------------------" for i in ${proc_ok[*]};do ps -ef|grep "agame_zs_900" |awk '{print $5,$(NF-2)}'|grep "${i}" |sed 's#-.*\/\([a-z].*_[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 "agame_zs_900" |awk '{print $5,$(NF-2)}'|grep "${i}" |sed 's#-.*\/\([a-z].*_[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