- 论坛徽章:
- 0
|
问:怎么才能关掉一个用任务管理器关不了的进程?我前段时间发现我的机子里多了一个进程,只要开机就在,我用任务管理器却怎么关也关不了
答1:杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式,不然下次重启它又出来了。顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程:
c:\>ntsd -c q -p PID
只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命令行传递就行了。NtsdNtsd 按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。
用法:开个cmd.exe窗口,输入:
ntsd -c q -p PID
把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器-进程选项卡->查看->选择列->勾上"PID(进程标识符)",然后就能看见了。
答2:xp下还有两个好东东tasklist和tskill。tasklist能列出所有的进程,和相应的信息。tskill能查杀进程,语法很简单:tskill 程序名!!
NTSD详细信息
NTSD
usage: NTSD [-v] [-2] [-d] [-o] [-g] [-G] [-w] [-lines]
[-aDllName] [-s] [-r BreakErrorLevel] [-t PrintErrorLevel]
[-hd] [-x | -xd [except#] | -xe [except#]] [-e] [-z]
[-- | -p pid | command-line]
where: -? displays this help text
-aDllName sets the default extension DLL
-c executes the following debugger command
-d sends all debugger output to kernel debugger via DbgPrint
-g ignores initial breakpoint in debuggee
-G ignores final breakpoint at process termination
-hd disables heap manager validity checking
-i ignores AV generated by loader fixups on pre3.51 systems
-lines requests that line number information be used if present
-netsyms:{yes|no} allow or disallow loading symbols from a network path
-o debugs all processes launched by debuggee
-r specifies the (0-3) error level to break on (SeeSetErrorLevel)
-s disables lazy symbol loading
-t specifies the (0-3) error level to display (SeeSetErrorLevel)
-v enables verbose output from debugger
-n enables verbose output from symbol handler
-w specifies to debug 16 bit applications in a separate VDM
-x disables break on AV exceptions
-xd disables stopping on specified exception
-xe enables stopping on specified exception
-z reserved for OS/2 debugging
-2 creates a separate console window for debuggee
-- is the same as -G -g -o -p -1
-p pid specifies the decimal process Id to attach to
command-line is the command to run under the debugger
Environment Variables:
_NT_SYMBOL_PATH=[Drive:][Path]
Specify symbol image path. (Default = %SystemRoot%)
_NT_ALT_SYMBOL_PATH=[Drive:][Path]
Specify an alternate symbol image path.
_NT_DEBUG_EXTENSIONS=dllname(s)
If specified, it is a semi-colon separated list of debugger extension DL
L names
This specifies the search order when resolving debugger extension comman
ds
NTSD: exiting - press enter --->
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18354/showart_121087.html |
|