月光博客 » 编程开发 » Windows杀进程的方法

Windows杀进程的方法

  Windows XP/2000的任务管理器是一个非常有用的工具,能让你看到系统中正在运行哪些程序(进程),只要你平时多看任务管理器中的进程列表,熟悉系统的基本进程,就可以随时发现可疑进程,这对防范木马和病毒大有裨益!不过有一些可疑进程,你用任务管理器却无法杀掉,这该怎么办呢?

  一、哪些系统进程不能关掉

  Windows运行的时候,会启动多个进程。只要你按下“Ctrl+Alt+Del”键打开任务管理器,点击“查看”/选择列,勾选“PIO(进程标识符)”,然后单击“进程”标签,即可看到这些进程。不过有一些进程个人用户根本用不到,例如Systray.exe(显示系统托盘小喇叭图标)、Ctfmon.exe(微软Office输入法)、Winampa.exe等,我们完全可以禁止它们,这样做并不会影响系统的正常运行。

  二、如何关闭任务管理器杀不了的进程

  如果你在任务管理器中无法关闭某个可疑进程,可以使用下面的方法强行关闭,注意不要杀掉进程表中的系统核心进程:

  1.使用Windows XP/2000自带的工具

  从Windows 2000开始,Windows系统就自带了一个用户态调试工具Ntsd,它能够杀掉大部分进程,因为被调试器附着的进程会随调试器一起退出,所以只要你在命令行下使用Ntsd调出某进程,然后退出Ntsd即可终止该进程,而且使用Ntsd会自动获得Debug权限,因此Ntsd能杀掉大部分的进程。

  操作方法:单击“开始”/程序/附件/命令提示符,输入命令:ntsd -c q -p PID(把最后那个PID,改成你要终止的进程的PID)。在进程列表中你可以查到某个进程的PID,例如我们要关闭图1中的Explorer.exe进程,输入:ntsd -c q -p 408即可。

  以上参数-p表示后面跟随的是进程PID, -c q表示执行退出Ntsd的调试命令,从命令行把以上参数传递过去就行了。

  2. 使用专门的软件来杀进程

  任务管理器杀不掉的进程,你可以使用专门的软件关闭。有很多软件可以杀进程,下面是一个VB编写的杀进程的例子代码,供参考。

Dim objWMIService As Object
Dim colProcesslist As Object
Dim objProcess As Object
Set objWMIService = CreateObject("winmgmts:{impersonationLevel=Impersonate}!root\cimv2")
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='wy.exe'")
For Each objProcess In colProcesslist
    objProcess.Terminate
Next

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    抽完这根烟   说道:
    感谢
    支持(20反对(13回复
  1. 2
    leisure   说道:
    月光博客,我喜欢
    支持(22反对(18回复
  1. 3
    navigation   说道:
    我们开始放弃生活的意思
    支持(18反对(15回复
  1. 4
    tuofeng   说道:
    看了你的方法,很好用。可是
    进程是杀掉了,重新启动有出来了,而且PID也改变了。
    真不知道有没有彻底一点的办法。
    支持(19反对(17回复
  1. 5
    enterprises   说道:
    任务管理器杀不掉的进程
    支持(15反对(13回复
  1. 6
    games   说道:
    游戏是生活的调味品
    支持(12反对(11回复
  1. 7
    olympicgames   说道:
    我们要支持奥运会呀
    支持(17反对(17回复
  1. 8
    junboo   说道:
    经常遇到这种情况,终止不了,专用工具可以解决!
    支持(13反对(14回复
  1. 9
    entrepreneurship   说道:
    开始学习拉
    支持(13反对(22回复

发表留言