本帖最后由 Hello123World 于 2011-10-21 11:21 编辑
【原】[一日一教学]批处理系列帖子索引 http://bbs.bathome.net/thread-2576-1-1.html
【续】[一日一教学]批处理系列帖子索引 http://bbs.bathome.net/thread-13798-1-1.html
帮助信息:- TASKKILL [/S system [/U username [/P [password]]]]
- { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
-
- 描述:
- 使用该工具按照进程 ID (PID) 或映像名称终止任务。
-
- 参数列表:
- /S system 指定要连接的远程系统。
-
- /U [domain\]user 指定应该在哪个用户上下文执行这个命令。
-
- /P [password] 为提供的用户上下文指定密码。如果忽略,提示
- 输入。
-
- /FI filter 应用筛选器以选择一组任务。
- 允许使用 "*"。例如,映像名称 eq acme*
-
- /PID processid 指定要终止的进程的 PID。
- 使用 TaskList 取得 PID。
-
- /IM imagename 指定要终止的进程的映像名称。通配符 '*'可用来
- 指定所有任务或映像名称。
-
- /T 终止指定的进程和由它启用的子进程。
-
- /F 指定强制终止进程。
-
- /? 显示帮助消息。
-
- 筛选器:
- 筛选器名 有效运算符 有效值
- ----------- --------------- -------------------------
- STATUS eq, ne RUNNING |
- NOT RESPONDING | UNKNOWN
- 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 窗口标题
-
- 说明
- ----
- 1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。
- 2) 远程进程总是要强行 (/F) 终止。
- 3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。
-
- 例如:
- TASKKILL /IM notepad.exe
- TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
- TASKKILL /F /IM cmd.exe /T
- 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*"
复制代码 命令概括:
taskkill,意为“杀死进程”,引申为“注销进程”;
/pid,全英文process id,意为“进程id”;(id有身份证的意思,全英文未知)。
/im,全英文imagename,意为“图像名称”,引申为“进程名”;
/t,全英文tree(不确定),意为“树”,引申为“进程树”
/f,全英文force,意为“强制”。
参数详解:
1.利用进程pid结束进程。
先查询要结束进程的pid,然后结束对应pid的进程。
先查询pid:- tasklist |find /i "qq.exe"
复制代码 效果:QQ.exe 5876 Console 1 85,616 K
结束pid对应的进程复制代码 注意:pid是一个变化的值,qq.exe的pid不会永远是5876,重启一次qq.exe,pid就会发生变化。
这是因为pid是一个随机值。
2.利用进程名结束进程
用pid结束进程实在是一件啰嗦事,知道进程名还要查pid,每个进程的pid还不是个定值。——鸡肋、鸡肋……
对比/pid参数,/im参数是那么的可爱。
同样是结束qq.exe(结束了记得再打开qq)复制代码 这里加上了/t参数。/t参数是用来结束对应进程的子进程。
qq.exe有子进程txplatform.exe,如果你只是单纯的结束qq.exe(不加/t参数),那么txplatform.exe就会驻留内存,占用内存空间。
qq.exe还算是客气的,如果遇上有子进程保护的进程,如果不加/t参数,是不能结束该进程的。
3.强制结束进程(未保存的信息会丢失)
当你修改了文本而没有保存(假设是用记事本在编辑文本),这时候你结束notepad.exe,notepad就会提示你“是否要保存修改的信息”。
记事本是如此的诚挚而啰嗦,如果你不在乎修改了的信息(临时填进去的一些信息)并且希望记事本不要罗里吧嗦,这时候就可以用/f参数——大声的对他说,未保存的信息俺不要了。- taskkill /f /im notepad.exe
复制代码 4.过滤器(filter),你是如此的美丽(You are so beautiful)
之所以说/fi参数美丽,是因为她支持通配符——*,并且她让tasklist /v 有了价值。
按进程名结束进程。- taskkill /fi "imagename eq notepad.exe"
复制代码 按窗口标题结束进程。
如果你打开了3个记事本,而要要结束其中一个记事本进程(窗口标题名中含有数字1),这时候怎么办(要求用命令行结束),这时候/fi参数可以帮忙。- taskkill /fi "windowtitle eq 1*"
复制代码 fi参数还有不少的功能,这里不再详述,喜欢的朋友,可以自行研究。
扩展阅读:
1.其它结束进程的命令。
【Ntsd】 NTSD -c q -Pn
【Wmic】 wmic process where name="qq.exe" delete |