脚本专栏 
首页 > 脚本专栏 > 浏览文章

DOS 强行杀进程的命令

(编辑:jimmy 日期: 2024/12/25 浏览:3 次 )

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

上一篇:CMD中使用attrib命令设置文件只读、隐藏属性详解
下一篇:ECHO 不换行实现方法