Linux系统耗用CPU的异常进程处理一例 - 十个随机字符进程名称
一网友说,某主机商禁止了VPS的互联网,因为有异常行为。在top命令下查看,有一个进程占用较多的CPU资源,且强制退出几分钟后又会重新出现。
网上搜索得这篇文章,http://blog.51cto.com/zhuxingye/1735794 ,基本相符。所以实践如下:
1.top
命令,显示有一个 hcvlsajtls
名称的进程,占用了25.2%的CPU
2.crontab -e
,查看任务列表,有一条异常内容,/var/.syslog
3.service --status-all
查看服务列表,有一项和进程同名的异常服务,hcvlsajtls
4./etc/crontab
的内容,每隔三分钟,运行 /etc/cron.hourly/gcc.sh
5./etc/cron.hourly/gcc.sh
的内容,异常文件 /lib/libudev.so
6.rm -f /etc/cron.hourly/gcc.sh && chattr +i /etc/crontab
# 删除 /etc/cron.hourly/gcc.sh
文件,且不允许修改 /etc/crontab
文件
7.kill -STOP 5090
# 查找到新异常进程zeckmkmbsr的ID,本例是 5090,用 kill 命令停止它,没有强制退出
8.find / -name '*zeckmkmbsr*' | xargs rm -f
# 在整个系统中查找出同名的文件,都删除(好象有点暴力,会不会误删其它文件?)
9.pkill zeckmkmbsr && rm -f /lib/libudev.so
# 强制退出异常的进程,且删除异常文件 /lib/libudev.so
10.重启系统后,用top再观察十分钟,没看到10个随机字符的进程了