怎么用BAT文件找到进程PID并结束它?

如题。。。

结束进程需要用到命令“taskkill”,命令行如下:taskkill /PID <进程PID>,如下图所示:

需要注意的是,进程的PID并不是一成不变的,计算机一重新启动,进程的PID就有可能改变,所以在批处理中使用TASKKILL命令以PID为关键字结束进程并不是可靠的方法,应该与TASKLIST命令相配合,查找进程名字来结束进程,举例如下:


ECHO.

ECHO     ==检查〈完整进程名〉进程是否存在,如果存在则强制结束。

tasklist|findstr "〈完整进程名〉"

if %errorlevel%==0 (taskkill /F /IM 〈完整进程名〉) else (ECHO 该进程不存在或当前不在运行状态)

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-12
得到PID并结束的话
是不是你要先看到PID然后选择要结束哪一个?
如果是这个意思
那么请试下这个批处理:

@echo off

echo for each ps in GetObject("winmgmts:\\.\root\cimv2:win32_process").instances_>___L_.vbs
echo WScript.Echo f(ps.handle,5)^&f(ps.name,15)^&ps.executablepath:Next>>___L_.vbs
echo Function f(str,n):f=str:for i=1 to n-len(str):f=f^&" ":Next:End Function>>___L_.vbs

cscript //nologo ___L_.vbs | find /V "cscript.exe" | find /V "find.exe" >C:\_proc_list.txt
del ___L_.vbs
type C:\_proc_list.txt

echo.
echo Please enter the PID of the process to be terminated , "0" to quit ...
set /p cmd=
if "%cmd%"==0 del C:\_proc_list.txt && goto :EOF
call :Tmnt %cmd%
del C:\_proc_list.txt
goto :EOF

:Tmnt
:start
if %1.==. goto :EOF
type C:\_proc_list.txt | find "%1" >nul && start /B ntsd -c q -p %1
shift
goto start
goto :EOF

使用时程序先列举出所有的程序PID,名字和可执行路径
然后你可以输入PID来结束指定的进程
如果你想结束多个进程
那么以空格分隔你的多个PID
举例来说
结束123,456和789三个进程时
你可以输入
123 456 789
然后这三个进程被强制结束
试下看看吧本回答被提问者和网友采纳
第2个回答  2006-09-18
这个估计无法做到
折中的办法是先在任务管理器里边找到这个进程的im名称(镜象名),找pid没用,因为pid不是固定的
然后用

taskkill /im qq.exe

这样就可以干掉qq了

怎么用BAT文件找到进程PID并结束它?
使用时程序先列举出所有的程序PID,名字和可执行路径 然后你可以输入PID来结束指定的进程 如果你想结束多个进程 那么以空格分隔你的多个PID 举例来说 结束123,456和789三个进程时 你可以输入 123 456 789 然后这三个进程被强制结束 试下看看吧 ...

怎么用bat文件结束进程
要结束进程,可以使用Windows自带的命令行工具taskkill。它提供了一种强大且灵活的方式来管理运行中的应用程序。最基本的命令格式是:taskkill \/f \/im [进程名],例如 taskkill \/f \/im Explorer.exe,这将强制结束Explorer进程。任务管理器的命令行选项非常丰富,例如:\/S system: 远程连接到指定的系统进...

bat 怎么写结束特定用户名的进程而不影响其他进程?
结束pid 比如:taskkill \/pid 4040 每个进程的pid不一样

怎么用BAT文件自动追踪某个进程的PID并自动结素它
:start taskkill \/f \/im 123.exe ping 192.168.1.1 goto start ___每ping完就执行一次结束命令,不知道为什么我电脑突然执行不了,你试试吧……可能是我电脑的问题。

bat批处理 结束进程
用PID结束即可。。。具体查看PID可以开始——运行——cmd \/k wmic process list brief ——回车。。。结束taskkill \/f \/pid pid具体数值 === 没有单独查看某个进程PID的命令。。不过可以用其他命令在PID列表中提取出来。。。

怎么用bat文件结束进程
可以根据进程 id 或图像名来结束进程。参数列表:\/S system 指定要连接到的远程系统。\/U [domain\\]user 指定应该在哪个用户上下文 执行这个命令。\/P [password] 为提供的用户上下文指定 密码。如果忽略,提示输入。\/F 指定要强行终止 进程。\/FI filter 指定筛选进或筛选出查询的 的任务。\/PID process...

BAT获取某进程的PID
a.txt for \/f "tokens=2 delims= " %%i in (f:a.txt) do echo %%i del f:a.txt pause>nul echo off wmic process where (name like '%%student%%') get processid \/value pause 以上两种都可以,第一种比较好理解,但是会生成临时文件,第二种比较好,但是第二种那个命令比较难。。

怎么利用BAT脚本结束进程?
在.bat文件里面用tskill(tskill 进程名)命令可结束进程,如下所示:结束QQ.exe:tskill qq即可.

如何编写bat文件强制结束进程.
ntsd具体使用方法为:打开一个CMD命令控制台,输入 ntsd -c q -p PID 其中PID代表了想关闭的进程的进程号。进程号可以在任务管理器里找到。或是在命令控制台下用tasklist命令也可以查进程ID也可以 tasklist和tastkill我就不详细介绍了,系统帮助里有具体用法,查一下就是了 注意:ntsd不能杀死System、...

如何用命令或脚本获取进程的pid号
按快捷键“win+R”,输入cmd后按回车进入DOS环境:输入tasklist回车 taskkill可以根据进程名直接杀掉的 例如杀掉记事本进程 taskkill \/f \/im notepad.exe http:\/\/blog.csdn.net\/shaochat\/article\/details\/40149283 BAT脚本获取当前cmd.exe进程PID\/PPID\/信息(自杀脚本)...

相似回答