Files
xkm-server/server_999/runenv/clean_shmkey.sh
2025-05-21 13:43:08 +08:00

59 lines
1.3 KiB
Bash
Executable File

#!/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