Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5204297
  • 博文数量: 553
  • 博客积分: 13864
  • 博客等级: 上将
  • 技术积分: 11041
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-28 21:25
个人简介

个人Blog: hhktony.com

文章分类

全部博文(553)

文章存档

2015年(1)

2014年(2)

2013年(12)

2012年(384)

2011年(154)

分类: LINUX

2012-01-09 14:31:16

是一个多用户、多任务的。在这样的系统中,各种计算机资源(如文件、内存、CPU等)的分配和管理都以进程为单位。为了协调多个进程对这些共享资源的访问,要跟踪所有进程的活动,以及它们对系统资源的使用情况,从而实施对进程和资源的动态管理。进程在一定条件下可以对诸如文件、数据库等客体进行操作。如果进程用作其他不法用途,将给系统带来重大危害。在现实生活当中,许多网络黑客都是通过种植“木马”的办法来达到破坏计算机系统和入侵的目的,而这些“木马”程序无一例外的是需要通过进程这一方式在机器上运行才能发挥作用的。另外,许多破坏程序和攻击手段都需要通过破坏目标计算机系统的合法进程尤其是重要系统进程,使得系统不能完成正常的工作甚至无法工作,从而达到摧毁目标计算机系统的目的。作为服务器中占绝大多数市场份额的系统,要切实保证计算机系统的安全,我们必须对其进程进行监控和保护。

包括如下三种不同类型的进程,每种进程都有其自己的特点和属性:

  1. 交互进程:由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。
  2. 批处理进程:这种进程和终端没有联系,是一个进程序列。
  3. 守护进程:系统启动时启动的进程,并在后台运行。

上述三种进程各有各的作用,使用场合也有所不同。

系统提供了who、w、ps和top等察看进程信息的系统调用,通过结合使用这些系统调用,我们可以清晰地了解进程的运行状态以及存活情况,从而采取相应的措施,来确保系统的安全。

1、who

该主要用于查看当前在线上的用户情况。系统管理员可以使用who监视每个登录的用户此时此刻的所作所为:

#akaedu   tty7         2012-01-09 14:23 (:0)
#akaedu   pts/0        2012-01-09 14:30 (:0.0)
不过我常加上这个选项:-uH
NAME     LINE         TIME             IDLE          PID COMMENT
akaedu   tty7         2012-01-09 14:23  old          997 (:0)
akaedu   pts/0        2012-01-09 14:30   .          1971 (:0.0)
这样能显示进程号

2、w

该也用于显示登录到系统的用户情况,但是与who不同的是,w功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,w是who的一个增强版:

14:37:47 up 14 min,  2 users,  load average: 0.00, 0.06, 0.10
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
akaedu   tty7     :0               14:23   14:47  33.03s  0.11s gnome-sessio
akaedu   pts/0    :0.0             14:30    0.00s  0.36s  0.00s w

3、ps

最基本同时也是非常强大的进程查看。使用该可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。ps可以监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,如果需要检测其情况,可以使用ps。

ps au(x) 输出格式 :

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER 进程的属主;
PID 进程的ID;
PPID 父进程;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
NI 进程的NICE值,数值大,表示较少占用CPU时间;
VSZ 进程虚拟大小;
RSS 驻留中页的数量;
TTY 终端ID

STAT 进程状态(有以下几种)
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的; 
S 处于休眠状态;
T 停止或被追踪; 
W 进入内存交换(从内核2.6开始无效);
X 死掉的进程(从来没见过);
Z 僵尸进程;

< 优先级高的进程 
N 优先级较低的进程 
L 有些页被锁进内存; 
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;
WCHAN 正在等待的进程资源;
START 启动进程的时间;
TIME 进程消耗CPU的时间;
COMMAND 命令的名称和参数;

4、top(增强版:htop)

top和ps的基本作用是相同的,显示系统当前的进程和其他状况;但是top是一个动态显示过程,可以通过用户按键来不断刷新当前状态。如果在前台执行该,它将独占前台,直到用户终止该程序为止。比较准确地说,top提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该可以按CPU使用。内存使用和执行时间对任务进行排序;而且该的很多特性都可以通过交互式或者在个人定制文件中进行设定。

以上介绍的是目前在下使用得最常见的进程状况查看工具,它们是随套件发行的,安装好系统之后,用户就可以使用。当然,随着开源的不断发展,相信将会有更多的该方面的工具出现,以方便用户选择和使用。


阅读(1871) | 评论(0) | 转发(0) |
0

上一篇:toupper函数实现

下一篇:Bash_progrmming---总结

给主人留下些什么吧!~~