79 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/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 "<start>"
 | |
|     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 "<start>"
 | |
| 
 | |
|     #打印停止进程信息
 | |
|     echo "<stop>"
 | |
|     if [ "${#proc_no[*]}" == "0" ]; then
 | |
|         echo "_love_"
 | |
|     else
 | |
|         for i in ${proc_no[*]};do
 | |
|             echo "$i"
 | |
|         done
 | |
|     fi
 | |
|     echo "<stop>"
 | |
| }
 | |
| 
 | |
| #打印检查结果
 | |
| function check_result(){
 | |
|     if [ -z $1 ];then
 | |
|         local_print
 | |
|     else
 | |
|         remote_print
 | |
|     fi
 | |
| }
 | |
| 
 | |
| #打印当前进程状态
 | |
| check_result $1
 | |
| 
 |