3个回答
展开全部
结束进程需要用到命令“taskkill”,命令行如下:taskkill /PID <进程PID>,如下图所示:
需要注意的是,进程的PID并不是一成不变的,计算机一重新启动,进程的PID就有可能改变,所以在批处理中使用TASKKILL命令以PID为关键字结束进程并不是可靠的方法,应该与TASKLIST命令相配合,查找进程名字来结束进程,举例如下:
ECHO.
ECHO ==检查〈完整进程名〉进程是否存在,如果存在则强制结束。
tasklist|findstr "〈完整进程名〉"
if %errorlevel%==0 (taskkill /F /IM 〈完整进程名〉) else (ECHO 该进程不存在或当前不在运行状态)
展开全部
得到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
然后这三个进程被强制结束
试下看看吧
是不是你要先看到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
然后这三个进程被强制结束
试下看看吧
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个估计无法做到
折中的办法是先在任务管理器里边找到这个进程的im名称(镜象名),找pid没用,因为pid不是固定的
然后用
taskkill /im qq.exe
这样就可以干掉qq了
折中的办法是先在任务管理器里边找到这个进程的im名称(镜象名),找pid没用,因为pid不是固定的
然后用
taskkill /im qq.exe
这样就可以干掉qq了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询