批处理之结束进程

来源:互联网 发布:ubuntu搜狗输入法 乱码 编辑:程序博客网 时间:2024/05/21 09:00
@echo off
Title 进程结束批处理
Color 02
echo --------------------------------》进程结束批处理《--------------------------
:start
echo ____________________________________________________
echo     1. 刷新进程列表
echo     2. 结束进程
echo     3. 强制结束进程
echo     4. 退出
echo ____________________________________________________
set /P choice=请选择:
if %choice%==1 goto show_list 
if %choice%==2 goto task_kill 
if %choice%==3 goto force_kill
if %choice%==4 goto end
:end
exit 
:force_kill
echo ----------------------------------------------------------------------------
SET /P Var=请输入你需要强制结束进程的PID码: 
taskkill /f /im HJT212_Protocol_WinServer.exe /F 
pause
echo ----------------------------------------------------------------------------
goto start
:show_list
echo ----------------------------------------------------------------------------
tasklist
echo ----------------------------------------------------------------------------
goto start
:task_kill
echo ---------------------------------------------------------------------------
SET /P Var=请输入你需要结束进程的PID码: 
taskkill /f /im HJT212_Protocol_WinServer.exe 
pause
echo ---------------------------------------------------------------------------

goto start


批处理之结束进程

当任务管理器在禁用的情况下,会遇到进程关闭不方便的情况,也有很多的软件可以提供进程管理的服务,比如说冰刃,由于学习了一点批处理的知识,所以打算自己写一个结束进程的批处理。
最后的成果就如下了,下面是全部的代码(====之间):
===========================================================
@echo off
Title 进程结束批处理
Color 02
echo --------------------------------》进程结束批处理《--------------------------
:start
echo ____________________________________________________
echo 1. 刷新进程列表
echo 2. 结束进程
echo 3. 强制结束进程
echo 4. 退出
echo ____________________________________________________
set /P choice=请选择:
if %choice%==1 goto show_list
if %choice%==2 goto task_kill
if %choice%==3 goto force_kill
if %choice%==4 goto end
:end
exit
:force_kill
echo ----------------------------------------------------------------------------
SET /P Var=请输入你需要强制结束进程的PID码:
taskkill /PID %Var% /F
pause
echo ----------------------------------------------------------------------------
goto start
:show_list
echo ----------------------------------------------------------------------------
tasklist
echo ----------------------------------------------------------------------------
goto start
:task_kill
echo ---------------------------------------------------------------------------
SET /P Var=请输入你需要结束进程的PID码:
taskkill /PID %Var%
pause
echo ---------------------------------------------------------------------------
goto start
===========================================================

附件里是编译成exe后压缩的文件,原理是根据进程的PID码结束进程。
使用方法先输入1,查看进程列表,然后选择2或3,输入要结束进程的PID码,回车结束,部分系统保护进程无法结束,winxp下测试有效。
PS:taskill命令也可以根据进程名来结束进程。
帮助如下:
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

描述:
这个命令行工具可用来结束至少一个进程。
可以根据进程 id 或图像名来结束进程。

参数列表:
/S system 指定要连接到的远程系统。

/U [domain\\]user 指定应该在哪个用户上下文
执行这个命令。

/P [password] 为提供的用户上下文指定
密码。如果忽略,提示输入。

/F 指定要强行终止
进程。

/FI filter 指定筛选进或筛选出查询的
的任务。

/PID process id 指定要终止的进程的
PID。

/IM image name 指定要终止的进程的
图像名。通配符 \'*\'
可用来指定所有图像名。

/T Tree kill: 终止指定的进程
和任何由此启动的子进程。

/? 显示帮助/用法。

筛选器:
筛选器名 有效运算符 有效值
----------- --------------- --------------
STATUS eq, ne 运行 | 没有响应
IMAGENAME eq, ne 图像名
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为
hh:mm:ss。
hh - 时,
mm - 钟,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用,单位为 KB
USERNAME eq, ne 用户名,格式为
[domain\\]user
MODULES eq, ne DLL 名
SERVICES eq, ne 服务名
WINDOWTITLE eq, ne 窗口标题

注意: 只有带有筛选器的情况下,才能跟 /IM 切换使用通配符 \'*\'。

注意: 远程进程总是要强行终止,
不管是否指定了 /F 选项。

例如:
TASKKILL /S system /F /IM notepad.exe /T
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM notepad.exe /IM mspaint.exe
TASKKILL /F /FI \"PID ge 1000\" /FI \"WINDOWTITLE ne untitle*\"
TASKKILL /F /FI \"USERNAME eq NT AUTHORITY\\SYSTEM\" /IM notepad.exe
TASKKILL /S system /U domain\\username /FI \"USERNAME ne NT*\" /IM *
TASKKILL /S system /U username /P password /FI \"IMAGENAME eq note*\"

原创粉丝点击