59 lines
1.3 KiB
Bash
Executable File
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
|
|
|