您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 系统编程 > 正文
·速成电脑精英(包分配)白领高薪一族从这里开始



-Java套接字编程(下)
-MediaStudio Pro 6.5教程
-三款卸载软件最新试用
-基于Visual C++的Winsock API研究

理解Windows 2000 和 NT4 系统及进程活动之二
2001-10-24· ·秦嘉··碧波山庄

1 2 3 4  下一页


  好了,在Windows 2000资源工具包中有一个称作PS的Visual Basic脚本,它是90个使用Windows 2000中某些新型基础结构(WMI,亦即Windows管理工具)的VB示范样本中的一员。WMI允许对许多在Windows 2000之前不能被访问的信息进行访问,而更重要的或许是,WMI允许在网络范围内访问那些以前只能在本地进行访问的信息。因此,通过PS VBS脚本,你将能够在远程系统上轻易地对进程列表进行观察。这里还有一个能够在远程系统上杀死进程的VB脚本。如果你还没有看过Windows 2000工具包中这90个零散的VB脚本示例的话,我极力推荐你去看一下。

  但我们的首要问题是,无论在工作站还是在服务器上,如果进程看上去很慢,到底是什么正在运行着呢?对我来说,找出究竟是什么正在运行着的最快方法,就是调出任务管理器,翻到进程选项卡,并按CPU耗用时间片段进行排序。在我们这么做之前,先让我们将任务管理器作为我们的第一个进程浏览工具加以介绍,尽管任务管理器或许被看作是一个使用起来相当简单而清楚的工具,但选项卡的名称及所列示的信息仍可能不十分明确。因此,让我们调出在幻灯片中提及的任务管理器。

  有3种方法来启动任务管理器。我将使用其中最快的一种,即组合键Ctrl+Shift+Esc。我按下Ctrl+Shift+Esc,我们看到的默认选项卡是应用程序选项卡。现在,如果我问你,这一列表是关于什么的,你会如何回答呢?不,这不是一个应用程序列表;不,这也不是一个进程列表。事实上,它是关于带有一套非常特殊的格式位的顶级可视窗口的列表,换言之,这是一个窗口列表,但表中的窗口并非系统中所有的窗口,也不是桌面上所有的可视的窗口,但总的来说,它是一个顶级且可视的窗口列表,你能通过在任务栏上直接点击或按Alt+Tab组合键来看到。

  现在,窗口由线程拥有,而线程由进程拥有,这就是为什么存在将窗口映射到进程上这一选项的原因所在。如果我点击鼠标右键,转入进程,它将把我带到以高亮度显示的进程选项卡,现在,我点击鼠标将其置为反色(蓝色),就显示出拥有窗口的线程和拥有线程的进程。这里,我们看到了在窗口和进程之间的映射。现在,再次回到应用程序选项卡。

  既然我们现在已知这是一个窗口列表,那么这个状态列又意味着什么呢?好的,窗口并没有运行。运行意味着拥有窗口的线程没有运行,而无响应则意味着拥有窗口的线程正在运行,它在后台运行。换言之,一个运行着的窗口就是一个正在接受鼠标输入,也就是图形用户界面输入的窗口。拥有窗口的线程当前处于等待状态,而你可以在该窗口上进行点击。因此,窗口的常态是运行状态。再重复一次,运行意味着拥有窗口的线程正等待你在该窗口上进行点击。窗口并没有运行。

  无响应是当窗口看上去被挂起时你所看到的状态指示,或者说,该状态在视觉上暗示你,当你在窗口上方移动鼠标时,该窗口将不会标记出响应。你看到了什么?一个沙漏。沙漏简单地意味着拥有窗口的线程当前不接受图形用户界面输入。它并不一定意味着应用程序被挂起。该线程可能正忙于其它任务,或许只是在等待磁盘或网络上的IO,并且不久会转回到接受窗口输入的状态下。因此,当线程转回到等待图形用户界面输入的常态时,无响应有时仅仅是对线程自身的清除。当然,如果应用程序真的被挂起,并且线程将不会返回到窗口输入状态,那么,该窗口将显示为不再做出响应,你可以点击结束任务,该功能将向拥有窗口的线程发出一条信息以释放窗口。在应用程序选项卡上的结束任务选项不会关闭进程,且不一定关闭窗口。它发出一条友好的Mr. Thread信息,询问你是否要释放或关闭该窗口。这就是它所发出的信息。

1 2 3 4  下一页

【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
 Win2000 Server入侵监测
 Windows 2000 Advance Serve安全设置
 Windows 2000实用技巧
 使用Windows DNA计、部署和管理电子商务网站(2)
 使用Windows DNA设计、部署和管理电子商务网站(1)
 对象组件技术COM+慨述
 理解Win2000 和 NT4 系统及进程活动之一
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!