我知道的唯一方法是通过注册表黑客。通常的注册表数据库编辑免责声明适用(它可能会破坏Windows安装到整个时空结构中的所有内容)。
以下示例隔离了Windows Update(wuauserv
)服务,该服务行为不当并使用过多的资源。该方法仅在Windows 7上经过测试。
启动regedit.exe(注册表编辑器),然后导航到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost
此项包含每个包含组设置的组的子项,以及每个列出该组中服务的组的REG_MULTI_SZ值。
在子项中查找目标服务的当前组(在此示例中netsvcs
:),然后创建一个具有适当名称和相同内容的新子项。记住要观察值的类型和内容。
创建一个以新组命名的REG_MULTI_SZ值,其中仅包含带有服务名称的一行;并从其现有的组REG_MULTI_SZ中删除服务名称。
接下来,导航到下方的目标服务子项HKLM\SYSTEM\CurrentControlSet\services
。在此示例中:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wuauserv
编辑该ImagePath
值,然后将组名更改-k
为新的组名。
重新启动目标服务(例如,使用任务管理器中的“服务”选项卡,或通过services.msc),它应出现在它自己的单独svchost.exe进程中。
下次Windows Update运行amok时,它的资源使用情况在任务管理器中立即可见,甚至可以使用“结束进程”将其杀死(尽管不建议用于更关键的服务)。
如果该服务无法启动,请复查上述步骤,然后重试,或者尝试还原所做的更改,同时调出顶部的警告。:-)