当前位置: 移动技术网 > 科技>操作系统>windows > 结束普通方法无法结束的进程

结束普通方法无法结束的进程

2018年08月30日  | 移动技术网科技  | 我要评论

青兔耳风,山西卫视走进大戏台,深圳宠物论坛

 使用ntsd程序 (如果安装过vs,在vs的安装目录下,比如“c:\program files (x86)\debugging tools for windows (x86)\ntsd.exe”,也可以在)

ntsd -c q -p pid
ntsd -c q -pn pname

两种方法

一种是使用进程的id号,将pid换成对应进程id号即可

一种是使用进程的名称,将pname换成对应的exe名字即可,比如notepad.exe

为了方便,写了个批处理,将该批处理和ntsd放在一起,使用时执行批处理,选择对应的方式,并输入参数即可。

@echo off
title 结束使用普通方法无法结束的进程
color 0a
mode con: cols=62 lines=22

:menu
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
echo.  %date% %tm1%点%tm2%分%tm3%秒 
echo.   ========================================
echo.   请选择要进行的操作,然后按回车
echo.   ────────────────────
echo.  1    根据进程号pid结束进程
echo.  2    根据进程名称结束进程

echo.  0    退出
echo.
echo.请输入选择项目的序号:

set /p choose=
if "%choose%" equ "" goto menu
if %choose%==1 goto killusingpid
if %choose%==2 goto killusingname
if %choose%==0 goto end

echo. 输入错误,请输入正确的项目序号:
goto menu

:killusingpid
set choose=
echo.请输入进程号pid,然后按回车
set /p proid=
set /a i=0
:kpid
ntsd -c q -p %proid%
if %i% geq 10 ( ( echo 结束进程%proid%失败 ) & goto menu )
set /a i=%i%+1
echo 结束进程%proid%第%i%次
tasklist | findstr /i %proid% && ( goto kpid )
echo 结束进程id为%proid%的程序成功或进程id:%proid%不存在
goto menu

:killusingname
set choose=
echo.请输入进程的名称(比如notepad.exe),然后按回车
set /p proname=
set /a i=0
:kpname
ntsd -c q -pn %proname%
if %i% geq 10 ( ( echo 结束程序%proname%失败 ) & goto menu )
set /a i=%i%+1
echo 结束程序%proname%第%i%次
tasklist | findstr /i %proname% && goto kpname
echo 结束程序%proname%成功或程序:%proname%未启动

goto menu

:end
exit

 

 

 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网