87 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash -
 | |
| 
 | |
| #环境变量
 | |
| export PATH=$PATH:/data/home/mmog/center_server_900/tools
 | |
| 
 | |
| #进程列表
 | |
| proc_name=(
 | |
| rank_svr_10_900_ag
 | |
| team_svr_10_900_ag
 | |
| match_svr_10_900_ag
 | |
| tunnel_svr_10_900_ag
 | |
| relation_svr_10_900_ag
 | |
| global_chat_svr_10_900_ag
 | |
| db_global_proxy_10_900_ag
 | |
| center_busd_svr_10_900_ag
 | |
| )
 | |
| 
 | |
| #检查进程状态
 | |
| 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 "    墨迹大侠_中顺_900服          "
 | |
|     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 "<start>"
 | |
|     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 "<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
 | |
| 
 |