Total Pageviews

Monday, 25 March 2013

如何终止烦人的Windows进程

你早上醒来时,打开电脑,突然发现系统老半天启动不起来,怎么回事?这个时候你首先想到的是:“电脑中毒了!”可以说这也是电脑中毒的征兆之一,但也可能是你昨晚睡觉前安装的软件进程在偷偷的作祟,从而无缘无故占用了大量系统资源,以至于拖慢了电脑启动速度。面对这种情况,你是不是觉得相当烦人?应该如何处理?
1. 不要担心,你可以使用任务管理器

如果你对Windows操作系统有一定的了解,你多半会想到使用任务管理器,通过任务管理器找到影响系统启动速度的进程,然后一一将它们关闭掉。你可以同时按下键盘上的“Ctrl+Shift+Esc”键来启动任务管理器,在这里,所有正在系统中运行的进程便一目了然了,你可以查看这些进程对系统内存和CPU的使用状态,发现占用内存和CPU特别多的,只要右键点击之,然后可“结束进程。”这是最简捷的处理系统流氓进程的方法了,但并非一劳永逸的做法,而且有时反而会滋生更多的问题。

还有,有的进程相当“聪明”,每次当你打开任务管理器时,它们便停止使用CPU。情况如果是这样,通常就是你的电脑受到了流氓进程影响的明示了,这些流氓进程会占用你的CPU到100%,只是当任务管理器启动时,它们对CPU的占用情况就又变为0%了。任务管理器都奈何不了它们,那又该如何应付?

2. 使用Process Explorer-进程查看器

Sysinternals- http://live.sysinternals.com/上有一款小巧的软件可以弥补上述Windows任务管理器的不足之处。

下载安装 Process Explorer- http://technet.microsoft.com/zh-cn/sysinternals/bb896653.aspx

Process Explorer 能够帮助你发现一些任务管理器发现不了的问题,功能相对更强,使用也很简单。然而,Process Explorer 也并不完美,比如说,使用这款工具,你会发现有一些所谓的流氓软件仍在Windows任务管理器的背后暗中活动,影响着系统性能。不过,你无需担忧,我们还有更加强大的进程管理工具。
3. 高级进程监视器Process Monitor会发现一切

不像Process Explorer,Process Monitor 对于系统进程的监视更加精细,可以显示实时文件系统、注册表和进程/线程活动,并增加了大量增强功能,其中包括丰富且不具破坏性的筛选功能、全面的事件属性(如会话 ID 和用户名)、可靠的进程信息、完整的线程堆栈(支持每个操作的集成符号)、同一文件并行日志记录等功能。异常强大的功能使 Process Monitor 成为系统故障排除和恶意软件捕获工具包的核心实用工具。

下载 Process Monitor- http://technet.microsoft.com/zh-cn/sysinternals/bb896645.aspx

你不必着急,先让程序运行几秒钟,然后点击界面上的“Tools(工具)”菜单,再点击“Process Activity Summary(进程活动概览)。” 出现在你眼前的图表显示的是正在系统中运行的进程各自所占用系统资源的大小,对比一下它们对应的数据,就能够找到最影响系统性能的进程了。需要紧记的一点是,有的进程是系统的关键,关闭之前请先弄清楚它们的作用,盲目操作反而会引起问题.
--------------------------
 
 
Sysinternals,微软骨灰级超强神器合集

作为市面上桌面操作系统市场份额占有第一的Windows,微软近些年不断听取用户建议,取长补短,经过多年的发展,版本数次更迭,功能越加完善,可以说是目前桌面最优秀的操作系统之一。

近些年,微软也逐渐拥抱开源,先是大手笔收购全球第一的开源平台Github,后又摒弃饱受诟病的IE浏览器,拥抱谷歌核心,更又针对WIndows 10推出了多款实用的增强小工具详见阿刚之前介绍过的《微软出的外挂小工具合集,有了它又可以少装几个工具了》,实际上除了这些工具之外,微软早年发布过一个功能强大的软件套件-Sysinternals。

Sysinternals,微软发布的超强绿色工具合集

Sysinternals早先是由国外Mark Russinovich开发(2006被微软收购),是套功能强大的Windows免费套件,主要帮助专业人士用于配置,优化,测试,检测操作系统,套件内含多个绿色小工具,涵盖了Windows系统中多个应用领域,目前主要包括:

    文件和磁盘工具
    网络工具
    进程工具
    安全工具
    系统信息工具
    其它类型工具

正是因为Sysinternals小工具的强大,微软才会收购,截至目前Sysinternals一直在维护更新,目前有将近100多个各式各样的小工具。下面阿刚挑几个我们可接触使用的工具。

(SDelete,安全删除工具,让数据恢复软件去死吧

通常情况下,删除文件只需右键删除即可,即快速又方便。而且,这样的删除操作一般被删文件是回到了回收站中,若是误删还能还原。就算是一般所谓的彻底删除,通过数据恢复软件也可以轻松恢复。那么,如果想不可恢复式的彻底删除一个文件该如何操作呢。

Sysinternals中就内置了一个SDelete小工具,通过简单的命令就可以彻底删除文件。首先他是个命令行工具,使用前需要配置环境变量。

方法很简单,比如:

sdelete64  阿刚的自拍.avi 直接删除此文件
sdelete64.exe -p 5 阿刚的自拍.avi 直接删除阿刚的自拍.avi文件,并且进行 5 次覆盖
sdelete64.exe -s E:\AV 删除 E:\AV以及子文件夹

删除的原理与大多数同类工具相同,比如在CCleaner中删除文件也有一个覆盖操作,都是通过删除后多次写入文件进行覆盖,已达到数据不可逆,更详细的原理微软在文档中有详细说明,阿刚这里就不赘述了。

SDelete-Gui,将SDelete集成在右键中

上面说了SDelete是个命令行工具,删东西就要速度快,让你来不及多想瞬间删除,命令行多麻烦呀。Github上有人专门为它写了个gui界面并且集成在了右键菜单中。

SDelete GUI

使用时,只需要设置一下复写的次数然后ENABLE按钮即可完成配置,当你要删除文件的的时候,直接右键选择Secure Delete,会弹出窗口显示你设置的复写次数,之后文件就彻底没了。

注意了,执行这个操作是不可逆的,文件一旦被删就无法恢复,包括所谓的数据恢复软件也是回天乏力了,所以一定要慎用!

最后,SDelete这个工具似乎只对机械硬盘能起到彻底删除的作用,固态因原理不同可能无法奏效,阿刚没做过对比和测试,感兴趣的同学可以自己试一下子。)

---------------------------------------------------------------
Autoruns,揪出自启动的程序和服务的超牛利器

随系统自启动本是微软方便用户,让人无奈甚至愤慨的是不少应用程序毫无节制不经用户同意伪装成系统服务甚至使用映像劫持和 DLL 注入的方式强制自启动各类服务,这类行径早已屡见不鲜,不仅无耻更存在着安全隐患。

作为一般用户,如何能简单高效识别自启动项显然不是一件轻而易举之事。而微软的这款Autoruns自启动管理工具能帮助用户快速扫描系统自启动项,让伪装隐藏的各类自启程序、服务无所遁形。

Autoruns使用简单,程序启动后将自动扫描并罗列出当前系统上的自启动项,主要包括了计划任务、驱动程序、资源管理器、登陆等多个类目,可方便的切换至对应的选项卡查看类目下的启动项。一般来说,我们主要查看这些类目即可大致分析出自启状况,为方便大家理解简单的说明下主要的类目。

    登陆:用户登录 Windows 时加载的启动项
    资源管理器:加载到资源管理器的一些条目
    IE浏览器:挂载到随 IE 启动的一些条目
    计划任务:任务计划中的启动项
    服务:随系统启动的各类服务
    Office:随 Microsoft Office 启动的条目、加载项

Autoruns启动后默认是罗列出了所有的启动项目,包括微软系统本身的启动项,这个在设置选项中可以隐藏关闭。大家可以根据需要分类查看,比如在登陆中,可以看到随系统登录后启动的程序。

Autoruns使用不同的颜色对扫描的启动项进行标记,其中粉红色表示该启动项对应的程序没有数字签名、签名无法验证,黄色泽表示该启动项对应的文件已不存在,通过颜色标记可以对启动项有个快速了解,方便我们定位有问题的启动项。

此外,对于具体的启动项你可以右键执行相关的操作,主要包括查找对应的注册表、跳转到文件所在路径、调用Process Explorer、以及谷歌在线搜索对应程序的信息、或者使用VirusTotal在线多杀软查毒,这些操作均是方便用户识别和判断启动项的程序信息。

对于我们不需要自启的的条目,只需取消勾选即可。如果是不存在的启动项,可以直接右键删除。这里特别要提醒的是,除非你完全知道某个启动项,否则一般只需禁用即可,不推荐删除以免造成系统或者软件崩溃。

总的来说,Autoruns功能相当强大,使用也简单,是目前自启动管理中最有效的工具之一,同时也是Sysinternals最出名的工具,非常值得使用。
--------------------------------------------------------------

Process Explorer,自带任务管理器的最佳替代品

Sysinternals套件中,鼎鼎大名的Process Explorer一直备受推崇,作为一款增强型的进程查看器,不仅使用简单,功能更加强大,它可显示有关进程的详细信息,包括其图标,命令行,完整映像路径,内存统计信息,用户帐户,安全属性等。甚至还能列出相关进程已加载的DLL或它已打开的操作系统资源句柄等。

作为一款进程管理器,Process Explorer的树形界面非常直观,能够条例清晰的罗列出各种进程以及相关父子进程关系。

并且与上面的Autoruns一样,它也采用颜色标记相关进程信息,

当然,你也可以选择是否启用颜色标记项,也可以根据自己的喜好自定义相关的颜色配置。总的来说,通过颜色就能判断此进程处于的状态和类型,是挂起还是正在退出,是服务进程还是普通进程,一目了然。

针对选中的进程,可执行停止、重启、挂起等常规操作,也可设置程序优先级以及使用virusTotal在线查毒等。而在属性栏中,则更进一步显示了进程的完整映像路径,资源占用,所属的用户帐户以及安全属性等。

如果你是工程师,还能通过Process Explorer查看进程的DLLs,具体做法是视窗——>下拉窗口显示内容——>动态链接库。这一功能还是相当实用的,比如能查看程序是不是被DLLs注入。

此外对于普通用户,Process Explorer内置了个进程查找器,通过鼠标移动到目标程序窗口就可以快速定位到相关进程,这个用来揪出不知名的广告弹窗程序相当有效,

总的来说Process Explorer用来查看进程以及相关的信息显得更加的专业和详细,即便是一般的用户也能直观的了解到进程,比Windows自带的要好用不少。
---------------------

Process Monitor,监控进程都做了什么

Process Explorer是简单易用的任务进程管理器,能够帮助我们准确查看相关进程的信息,但要分析某个进程在系统中的所有操作,Process Monitor显然是最佳的选择。

Process Monitor是一款高级监视工具,它结合了两个旧的Sysinternals实用程序Filemon和Regmon的功能,并添加了更强大的增强功能,能够显示实时文件系统,注册表和进程/线程活动,可根据事件属性设定条件进行过滤,(例如会话ID和用户名),同时还具有集成符号支持的完整线程堆栈,对于每个操作,可同时记录到文件中。

在使用管理员身份运行程序后,Process Monitor运行后会立即开始监视文件系统,注册表和进程,具体而言:

    文件系统:记录并显示所有Windows文件系统的活动,包括本地存储和远程文件系统。
    注册表:记录所有注册表操作并使用注册表根键的常规缩写显示注册表路径(例如,HKEY_LOCAL_MACHINE表示为HKLM)。
    进程:在进程/线程监视子系统中,Process Monitor跟踪所有进程和线程的创建和退出操作以及DLL和设备驱动程序加载操作。

简单来说,Process Monitor可以监控进程及其对系统做出的更改,主要包括文件写入、注册表以及加载的DLL和设备等多种信息,并且能根据条件筛选。

筛选过滤可以根据各种条件作出精确的筛选,比如根据父进程ID、文件名,映像路径、文件描述、公司名等多种条件设定仅显示或排除。假设你要监控QQ运行后做了什么,则可以通过QQ的进程ID进行筛选。

筛选之后列表中将仅显示QQ进程相关的结果,能够看到QQ运行后,写入的注册表、文件。并且右键还可以跳转到修改的文件、注册表的键值等。

小结:一直以来Process Monitor独特的强大功能将使其成为不少人系统故障排除和恶意软件搜索的首选工具,对于一般的用户而言,当发现可疑程序或想知道程序作了哪些更改,可以通过Process Monitor进行监控,简单高效。
写在最后

Sysinternals套件其实是一个面向专业人士的万能工具包,里面的工具多是命令行工具,涉及到专业领域知识较多,一般用户使用可能会有些门槛,它虽然被微软收购,但目前一直在更新维护中。

此次在文章中给大家介绍的这几款小工具,尤其是Process Explorer/Monitor和Autoruns,可以说是 Sysinternals中的精品同时他们的知名度也很高。阿刚这里算是抛砖引玉,一是篇幅所限,二是个人能力也有限,无法给大家详尽的介绍每一个工具,毕竟有些工具很专业,如果感兴趣可以在微软Sysinternals官网中查看文档,每一个工具都有非常详尽的说明。

Windows Sysinternals官网:https://learn.microsoft.com/en-us/sysinternals/downloads/