VB 源码VC 源码ASP源码JSP源码PHP源码CGI源码FLASH源码素材模板C 源程序常用软件文档中心其他程序

系统安全

木马病毒
黑客技术
系统安全
防火墙
安全防范
网络安全

本类阅读TOP10

·Windows 2000 密码破解不完全指南
·修改系统DLL文件实现禁用来防止木马病毒!
·浅谈Win2000密码的必然破解
·NTFS文件加密初探
·防范非法用户入侵Win 2000/XP系统七招
·目前实用的几种入侵方法 以及工具防范
·Windows 2000密码破解不完全指南
·11个不可不知的安全保护常识
·虚拟服务器实现方法
·守护进程的概念和建立方法

精品推荐
找出UNIX中最费CPU的进程

作者:佚名 来源:月光软件站 加入时间:2005-5-12 月光软件站

    多用户的UNIX计算机系统在运行过程中,有时会感觉到运算速度突然慢下来,有时甚至连从键盘输入字符也得过好久才会有反应。有经验的人一定会知道,这时计算机中一定在运行一个非常耗费CPU的进程。这样的进程有时是某个人在执行一个很占CPU的程序,有时则可能是系统中出了意外情况,系统本身在进行处理。无论是哪种情况,系统管理员都应及时找出这样的进程,并做出相应的处理。


  UNIX虽然提供了“acct”等一系列记账程序,但这些程序只能在进程结束后才能显示运行时间和占用CPU时间等信息,不能实时计算单位时间内哪一个进程占用CPU时间最多。

  为此本人用shell语言编写了一段程序,利用UNIX提供的一些实用程序,实现了上述功能。

  此段程序中包含ps、cut、diff等UNIX实用程序,下面先简单介绍一下这些实用程序的功能。

  ps:用来显示当前系统中进程的有关信息。用-e参数则显示系统中所有进程的信息。使用-f参数则显示各进程完整的信息;

  cut:用于以列为单位对文件进行剪裁。参数“-c -15,33-”表示把输入文件每行前15个字符及第33个字符以后直到行尾的所有字符放入输出文件;

  echo:用于向屏幕上显示提示信息;

  sleep:可以让shell程序等待若干秒,然后再执行后面的语句;

  diff:用于对两个文件进行比较,不同之处则显示出来;

  sort:可对文件中的各行进行排序,排序结果可显示出来;

  grep:可用来找出文件中满足一定条件的行。参数“^”表示找出第一列为空格的各行;

  |:为管道的符号,可实现把前面命令的输出作为后面命令输入的作用,这样就可省略生成中间文件的步骤,提高执行效率;

  >:表示对输出进行重定向,把本来应显示在屏幕上的东西输出到文件中。

  程序内容如下:

   ps -ef|cut -c -15,33->tt1

   echo Please wait a while...

   sleep 20

   ps -ef|cut -c -15,33->tt2

   echo Attention !

   echo

   diff tt1 tt2|cut -c 2->tt3

   sort tt3|grep '^ '|cut -c -83|grep -v 0:00

   echo

   echo That is ok!

   rm tt1 tt2 tt3

  程序首先取得系统中所有进程的信息并把其中有用的字段放入临时文件tt1中。接着让程序等待20秒(时间可依具体情况进行调整)。

  然后再一次取得所有进程的信息,并把所有的字段放入临时文件tt2中。

  对两个临时文件进行比较,找出20秒前后信息不同的那些进程(其中就有消耗CPU时间已经发生了变化的进程)。

  去掉进行比较时产生的“>”和“<”,把结果放入临时文件tt3中。

  对tt3中的内容进行排序,把耗费CPU时间发生变化的同一进程的前后信息排在一起。grep“^”则是用来去掉执行此shell程序时产生的一些中间命令进程的信息。

  再用cut删去每行中过长的进程信息,使输出更加清晰。而grep -v 0:00则用来去掉20秒前后只出现一次的进程。程序执行至此,在20秒前后耗费CPU时间不同的进程就显示在屏幕上了,从中可以很容易地找出所要找的进程。最后为了不在系统中留下无用的垃圾文件,还要把三个临时文件全都删去。





相关文章
  • 虚拟服务器实现方法
  • 修改linux只能上500多个进程的限制
  • 守护进程的概念和建立方法
  • 如何一次添加大量账户
  • RedHat6.2服务器配置方案(4) DHCP
  • RedHat6.2服务器配置方案(2) DNS
  • RedHat6.2服务器配置方案(3) Apache
  • RedHat6.2服务器配置方案(1) 前言
  • Linux日志管理详解
  • LINUX系统初始化过程解析
  • Linux操作实用技巧三则
  • 在局域网中设置Linux时间服务器
  • 移动整个Linux
  • 一个IP建多个Web站点--TCP端口法
  • 日志式文件系统简介
  • ext3日志式文件系统使用介绍
  • 注解高端UNIX服务器之技术
  • 嵌入式系统以及如何构造一个嵌入式系统概览
  • 在RedHat 6.2上运行SSH2
  • LINUX系统中动态链接库的创建与使用
  • 相关软件




    月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
    电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
    音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

    月光软件站·版权所有