DOS 强行杀进程的命令
2014-08-12来源:易贤网

tskill和ntsd命令,两个都能结束任务管理器的进程,或者称为,可以关闭应用程序。但是,两者的用法及范围均有不同,下面,本文简单给大家作个介绍。

①ntsd命令介绍

代码如下:

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,任务管理器->进程选项卡->查看->选择列->勾上"tID(进程标识符)",然后就能看见了。

②tskill命令介绍

tskill能查杀进程,语法很简单:tskill 程序名!!

比如,关闭浏览器进程,可以在dos输入提示符下输入命令: tskill  iexplore.exe 按回车鍵即可。

dos下查看并选择强行中止进程

代码如下:

@echo off

echo set sh=WScript.CreateObject("WScript.Shell") >telnet_tmp.vbs

echo WScript.Sleep 300 >>telnet_tmp.vbs

REM 把192.168.1.7改为你要登录的IP地址

echo sh.SendKeys "open 192.168.1.7" >>telnet_tmp.vbs

echo WScript.Sleep 5000 >>telnet_tmp.vbs

echo sh.SendKeys "{ENTER}" >>telnet_tmp.vbs

echo WScript.Sleep 20000 >>telnet_tmp.vbs

echo sh.SendKeys "y{ENTER}" >>telnet_tmp.vbs

echo WScript.Sleep 1000 >>telnet_tmp.vbs

REM 用户名

echo sh.SendKeys "ocular_admin{ENTER}" >>telnet_tmp.vbs

echo WScript.Sleep 5000 >>telnet_tmp.vbs

REM 密码

echo sh.SendKeys "lcdchina{ENTER}" >>telnet_tmp.vbs

echo WScript.Sleep 5000 >>telnet_tmp.vbs

rem start telnet

cscript //nologo telnet_tmp.vbs

del telnet_tmp.vbs

rem 下面查看进程信息

tasklist

rem 让用户选择要删除的进程PID

set /p ans=请输入要删除的进程PID:

echo 您要删除的进程的PID是%ans%

rem 以下对用户的选择进行判断

set choice=

set /p choice=您确认要删除PID为%ans%的进程吗?(y/n)

if /i "%choice%"=="y" goto yes

if /i "%choice%"=="n" goto no

:yes

rem 执行强制删除进程命令

ntsd -c q -p %ans%

:no

rem 也可用“taskkill /im 进程名”来强制删除XP下的进程

tasklist

rem 暂停

pause

更多信息请查看IT技术专栏

推荐信息