在linux系统里,当前正在运行的程序实例称为进程。比如,当你启动apache的时候,系统会为它分配一个进程id。然后就可以用这个id监视和控制这个程序。
进程监视和控制是任何linux系统管理员的核心任务。一个管理员可以终止("kill")、重启一个进程,甚至可以为它指定一个不同的优先级。标准的linux命令"ps"和"top"通常用于查看当前的进程列表。下面我来说明如何用这些命令和其它命令来管理linux系统中的进程。
用ps监视进程
一个监视linux的标准工具就是"ps",它是进程状态的简称。这个命令返回正在运行的程序的信息。这些信息可能包括程序是在哪个用户名下运行的,使用了多少cpu以及运行了多长时间。如果你要手工终止程序或者确定是哪个程序让系统变慢时,这些信息是很有用的。
如果你只是键入了"ps"这个命令,那么只能列出运行在当前终端下的进程。下面的例子是通过远程shell运行"ps"输出的结果:
$ ps
pid tty time cmd
4684 pts/14 00:00:00 bash
27107 pts/14 00:00:00 ps
从输出可以看出,分配给这个用户/终端的进程只有bash shell和ps命令本身。你还可以看到为每个进程列出的pid(进程id)和tty、time和cmd。tty指明这个进程正在运行在哪个终端上,time指明了这个进程已经使用了多少cpu时间,cmd则是启动这个进程的命令名称。
用户可以看到,标准的ps命令只能列出基本的信息。要想获得linux系统上运行的进程的详细信息,你必须加入一些命令行参数。
加入ps常用的aux参数后可以显示其他用户启动的进程(a)、查看系统中属于自己的进程(x)以及启动这个进程的用户和它启动的时间(u)。
现在还有其它更多的信息,增加了user、 %cpu、%mem、 vsz、rss、stat和start这几个域。现在我们来看一下这些信息是什么含义。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器