任务与进程的中止工具
上篇介绍的任务与进程显示工具tlist,其主要作用是为管理任务和进程提供信息.所谓"管理",不外乎是中止某个任务或进程,或改变它们的优先权.命令行形式的任务与进程管理工具,只有中止进程功能,没有改变优先权的功能.程序名是Kill.EXE.kill的意思为杀死!即可以用它来"杀死"一个现存的任务或进程!听起来是不是有点恐怖啊?为了不致觉得吓人,我改用"中止"这个名称.中止也好杀死也罢,都有一个惟谁试问拿谁开刀的问题:你要中止哪个任务或哪个进程?它的名字如何得到?从什么地方得到线索?要改变某一个任务或进程的优先权,你凭的是什么?这又得先了解原来的优先权级别。这一切信息,都必须由上篇介绍的任务与进程显示工具为你提供.所以,以下都假设你已经用过tlist,并且得到了相应的进程名字或PID.
Kill.EXE,其完整的语法及用法如下:
kill [/f] {process_id | pattern}
命令:Kill
参数:
/f : 进行强制中止。
process_id: 指定所中止的任务或进程的PID.例如:
已知wnvirq32.EXEd的PID是204,在命令行环境中执行:
kill 204
返回:process #204 killed,也就是先告诉要中止进程的PID,然后中止它.
pattern: 指定所中止的任务、进程或运行窗口标题的名字, 可以使用完整名字或统配符。假设已知atsvc.exe 是一个进程名字,则执行:kill atsvc 则返回process #180 [atsvc.exe] killed,180是PID号.这个参数也可以像dos命令那样使用统配符,如下面的命令:
Kill *help
会将所有名字中包含有help字符的任务、进程和窗口中止
Process Viewer 这个"杀死"任务或进程的工具,除了Kill.exe外,还有一个for windows的版本,名子是:Process Viewer,这就是上篇我们提到的那个程序了,名字的中文含义有"进程观察"的意思,乍看起来显得中立且温文雅尔,只是第三个按钮的标题是Kill Process,这一看,又不像"善哉"之辈了.
这个工具的功能比kill.exe要强大很多.并支持远程的进程管理,在对话框Computer右面的编辑栏中,输入所连接的另一台电脑的名字,点击Connect按钮,就可以对另台电脑进行任务和进程管理.这里只介绍本地的进程管理,其方法用于远程管理也适合.
以上篇中指出过的具体位置打开Process Viewer后,出现的对话框见上图.当前的所有任务和进程都列在Process下面的滚动框中,除了进程名字外,还有PID(16进制表示)、进程使用处理器时间、进程在时间上的优先权等情况.如果鼠标点击某个进程名字,再点击Kill Process按钮,就可以中止该进程,中止前会有警告,让你确认.确认之后,点击"Refresh"按钮进行更新,这才算真正完成中止.如果不点击Refresh直接退出Process Viewer,会造成死机.
在选中一个进程后,与此相关的项目将全部显示在对话框中.”Process Memory Used”框显示的是工作设置和"堆"使用.右面的单选项是优先权选择,级别是从上到下,依次是:最高、普通、和空闲(最低).当需要时可以点击更改之.
再往下面的滚动框是关于所选定进程中全部线程的内容,线程是比进程更加细微的执行单位,线程只有标号而没有名字,每个进程都可能具有多个线程,对线程显示的项目和进程一样.线程也有优先权,你可以像更改进程的优先权那样更改线程的优先权,其优 先权从上到下分4个等级:最高、高于普通、普通、低于普通、最低.
在这里附带介绍一下对话框的第二个按钮Memory Detail???的作用,点击该按钮,会显示一个新的对话框,内容是关于所选择进程对内存使用的详细报告,下图是我在自己机器上选定"Winword"后,显示的内存使用情况的报告.
以上这些工具主要供编程人员在调试程序时用,一般用户在遇到有问题的程序时,也可以用该工具将其中止,其他场合则很少用到,所以就不进行很详细的介绍了.中止任务或进程都是很危险的操作,不到万一不能轻起杀机!你必须确实清楚中止的意义.如果你想验证一下来满足好奇心,可以中止某个已知的的程序看看结果.但千万不要中止那些你不知道用途的进程或任务.否则将带来不可预料的结果.不论是命令行或是Process Viewer都是这样.