现在的位置: 首页 > 综合 > 正文

Perl批量杀升腾终端绑定程序进程,解决CPU占用率100%问题。

2013年03月10日 ⁄ 综合 ⁄ 共 1171字 ⁄ 字号 评论关闭

需求:同事反映服务器每当下午下班时就出现终端登录难、业务办理长时间无响应。
    经查,升腾终端绑定程序与每个终端都有大量无效连接
(Perl获取连接本机的外部IP信息),即使,终端离线占用的资源依然不释放,下次连接时又重新创建新连接,重复。直至耗尽服务器可用资源同时CPU占用率100%
    上述,个人凝为升腾程序BUG,联系厂家后暂未给出解决方法,临时编写这个程序手动回收被过多占用的资源。
优点:批量KILL程序快速回收被占用的资源。
                                                                                                                                                                                                             

#!/usr/bin/perl -w
use strict;
############################################################
# 文件:kill_centerm.pl
# 功能:杀掉运行状态的升腾终端绑定程序进程(centermtelnetd)
# 需求:同事反映服务器每当下午下班时就出现终端登录难、业务办理
#   长时间无响应。
#	经查,升腾终端绑定程序与每个终端都有大量无效连接,即使,终
#   端离线占用的资源依然不释放,下次连接时又重新创建新连接,
#   重复。直至耗尽服务器可用资源同时CPU占用率100%
#	上述,个人凝为升腾程序BUG,联系厂家后暂未给出解决方法,临时
#   编写这个程序手动回收被过多占用的资源。
# 优点:批量KILL程序快速回收被占用的资源。
# 版本:v0.1
# 时间:2012-3-28 22:46
# 作者:半点闲
# 测试平台:
# SCO_SV scosysv 3.2 5.0.6 i386
############################################################

##############################
# ps:
# -e 显示所有进程,环境变量;
# -f 全格式;
# -l 长格式;
##############################
open (CEN,"ps -elf |") or die "Can't open wordcount:$!";

while (<CEN>){
	#提取
	#S(state of the process)域
	#R:运行状态(runnig)的进程的PID
	if (/R\s+\w+\s+(\d+).*center.*$/){
		print "$&\n" if kill -9,$1;	
	}
}
close CEN;

被占用时top命令界面图:

抱歉!评论已关闭.