查看文章 |
什么是进程 为了保证系统资源得到合理分配,windows系统采用进程对系统资源进行管理。进程是一个具有一定独立功能的程序,它是系统动态执行的基本单元。一般情况下,我们将计算机中的进程分为“系统进程”和“用户进程”两种。系统进程用来支持系统基本的运行环境:而用户进程是可以随机创建关闭的,当运行一个程序的时候就会启动一个或多个进程,用户进程的创建和关闭并不会影响系统的正常运行。 关键进程的介绍 要完成系统操作,就需要很多系统进程提供支持,而“Svchost.exe”就是windows系统的一个核心系统进程。在使用NT内核的windows系统中都会有Svchost.exe的存在。一般情况下windows2000中的Svchost.exe进程的数目为两个,而在windows中Svchost.exe进程的数目上升到了4个以上,在windows2003和Vista系统中的数目会更多。 那么一个系统里面为什么会出现这么多个“Svchost.exe”进程呢?这里就必须从该进程的作用说起。“Svchost.exe”是windows NT内核系统独有的进程,而“Svchost”其实就是“Service Host”(服务宿主)的缩写,它本身并不能给用户提供任何服务,微软官方对它的定义是:“Svchost.exe是从动态链接库(DLL)中运行的服务的通用主机进程名称”,专门为系统启动各种服务,“Svchost.exe”可以同时启动多个服务。”由于系统服务都是以动态链接库形式实现的,他们可以把执行程序指向“Svchost.exe”,因此“Svchost.exe”只有调用某个动态链接库,才可以启动对应的服务。由于系统服务在注册表中都设置了相关参数,因此“Svchost.exe”通过读取某服务在注册表中的信息,就知道应该调用哪个动态链接库来启动该服务了。我们就以“Svchost.exe”进程启动Plug and Play服务为例介绍一下。 在windows系统开始菜单的“运行”中执行“services.msc”命令,在弹出的服务编辑器中找到Plug and Play服务并双击打开它,从服务对话框可以看到该服务的“可执行文件的路径”为“C:\WINDOWS\system32\services.exe -k DcomLaunch”,说明Plug and Play服务是依靠Svchost.exe调用DcomLaunch参数来实现的,而参数的内容则是存放在系统注册表中。现在再在“运行”中执行“Regedit.exe”命令打开注册表编辑器,转到HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\PlugPlay项,找到类型为“REG_EXPAND_SZ”的键ImagePtah,其值为%System Root%\system32\Svchost.exe -k DcomLaunch,这就是刚刚在服务窗口中看到的服务启动命令。另外在Patameters项中有个名为ServiceDll的键,其值为“%System Root%\system32\umpnpmgr.dll”,其中umpnpmgr.dll就是Plug and Play服务要使用的动态链接库文件(如图)
进程管理工具
要想了解系统当前的进程信息,通常情况下有两种方法。第一是在任务栏上选在右键菜单中的“任务管理器”命令,接着在弹出窗口的“进程”标签中就可以查看到当前的进程情况。另一种就是在命令提示符窗口,执行命令“TaskList”就可以看到了,为了直观这里通过任务管理器查看。
|
