#!/bin/sh #date:20190816 #禁止以root用户运行 curuser=`whoami` if [ $curuser = "root1" ];then echo "root Operation is not allowed!!" exit -1 fi #定义清除内存函数 function clear_all_shmkey(){ cd /data/home/mmog/server_999/runenv/msgq sh clear.sh >/dev/null 2>&1 ipcrm -M 2109991 ipcrm -M 1109991 ipcrm -M 1109994 ipcrm -M 1109995 ipcrm -M 1109992 ipcrm -M 1109999 ipcrm -M 11099940 ipcrm -M 11099950 } # 打印error信息 function print_error_message() { message=$1 echo -e "\033[31m${message}\033[0m" } # 打印info信息 function print_info_message() { message=$1 echo -e "\033[36m${message}\033[0m" } #统计进程总数 proc_count=`ps -ef|grep 'a5game_zs_999\>' |egrep -v '/tlogd|/*logload_svr|grep|battle_svr|team_svr'|wc -l` #执行清除操作 print_info_message "---------------A5game_中顺_999服-------------" if [ "${proc_count}" == "0" ];then clear_all_shmkey >/dev/null 2>&1 print_info_message "-------------- 清除共享内存操作结束 --------------" else print_error_message "当前还有${proc_count}个进程正在运行" print_error_message "请先停止正在运行的进程,再执行此操作" print_error_message "--------------------------------------------------" fi #清除空闲内存 sleep 2 ipcs -m|grep ^0x |awk '$6==0{print $2}'|xargs -I {} ipcrm -m {} >/dev/null 2>&1 || echo