尚观Linux学习交流第1站
Linux操作系统包括如下三种不同类型的进程,每种进程都有其自己的特点和属性:
交互进程:由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。
批处理进程:这种进程和终端没有联系,是一个进程序列。
守护进程:Linux系统启动时启动的进程,并在后台运行。
上述三种进程各有各的作用,使用场合也有所不同。
Linux系统提供了who、w、ps和top等察看进程信息的系统调用,通过结合使用这些系统调用,我们可以清晰地了解进程的运行状态以及存活情况,从而采取相应的措施,来确保Linux系统的安全。
1、who命令
该命令主要用于查看当前在线上的用户情况。系统管理员可以使用who命令监视每个登录的用户此时此刻的所作所为:
#who
rootpts/-02-:56(:0.0)
2、w命令
该命令也用于显示登录到系统的用户情况,但是与who不同的是,w命令功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,w命令是who命令的一个增强版:
#w
15:56:44up38min,1user,loadaverage:0.56,0.15,0.12
USERTTYFROMLOGIN
IDLEJCPUPCPUWHAT
rootpts/1:0.:.00s0.19s0.05sw
3、ps命令
最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。ps命令可以监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,如果需要检测其情况,可以使用ps命令。下面是一个ps命令的例子:
#ps
PIDTTYTIMECMD
pts/:00:00bash
pts/:00:00ps
4、top命令
top命令和ps命令的基本作用是相同的,显示系统当前的进程和其他状况;但是top是一个动态显示过程,可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确地说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用。内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。下面是一个top命令的例子:
#top
top-15:58:07up39min,1user,loadaverage:2.09,0.68,0.30
Tasks:total,2running,sleeping,0stopped,2zombie
Cpu(s):30.6%us,25.2%sy,0.0%ni,41.2%id,0.3%wa,2.7%hi,0.0%si,0.0%st
Mem:ktotal,kused,kfree,kbuffers
Swap:ktotal,0kused,kfree,kcached
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
rootmS40.02.20:54.26Xorg
rootm16m10mS3.03.50:03.62gnome-terminal
rootm10mS2.63.10:02.43gnome-panel
rootmS2.02.10:01.57metacity
rootmS2.02.70:01.46wnck-applet
rootS1.01.70:01.32gnome-settings-
rootm20m14mS1.04.40:04.66nautilus
rootS0.70.70:02.72gnome-screensav
root15021608788R0.70.20:00.31top
rootm22m14mS0.74.80:01.87gedit
rootS0.30.30:01.51pcscd
root21093361856S0.30.20:00.35automount
root4S0.30.10:03.46hald-addon-stor
root48S0.30.20:00.26gam_server
rootm14mS0.35.30:02.39/usr/bin/sealer
rootS0.31.30:00.31scim-panel-gtk
1root8S0.00.10:02.16init
2rootRTS0.00.00:00.00migration/0
3rootS0.00.00:00.00ksoftirqd/0
4rootRTS0.00.00:00.00watchdog/0
5root10-S0.00.00:00.06events/0
6root10-S0.00.00:00.01khelper
7root10-S0.00.00:00.01kthread
10root10-S0.00.00:00.26kblockd/0
以上介绍的是目前在Linux下使用得最常见的进程状况查看工具,它们是随Linux套件发行的,安装好系统之后,用户就可以使用。当然,随着开源的不断发展,相信将会有更多的该方面的工具出现,以方便用户选择和使用。