- 批处理脚本教程
- 批处理脚本 - 主页
- 批处理脚本 - 概述
- 批处理脚本 - 环境
- 批处理脚本 - 命令
- 批处理脚本 - 文件
- 批处理脚本 - 语法
- 批处理脚本 - 变量
- 批处理脚本 - 注释
- 批处理脚本 - 字符串
- 批处理脚本 - 数组
- 批处理脚本 - 决策
- 批处理脚本 - 运算符
- 批处理脚本 - 日期和时间
- 批处理脚本 - 输入/输出
- 批处理脚本 - 返回代码
- 批处理脚本 - 函数
- 批处理脚本 - 进程
- 批处理脚本 - 别名
- 批处理脚本 - 设备
- 批处理脚本 - 注册表
- 批处理脚本 - 网络
- 批处理脚本 - 打印
- 批处理脚本 - 调试
- 批处理脚本 - 日志记录
- 批处理脚本资源
- 批处理脚本 - 快速指南
- 批处理脚本 - 有用的资源
- 批处理脚本 - 讨论
批处理脚本 - 进程
在本章中,我们将讨论批处理脚本中涉及的各种过程。
查看正在运行的进程列表
在批处理脚本中,TASKLIST 命令可用于获取系统中当前正在运行的进程的列表。
句法
TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
编号 | 选项和说明 |
---|---|
1. |
/S系统 指定要连接的远程系统 |
2. |
/U [域\]用户 指定应在其下执行命令的用户上下文。 |
3. |
/P [密码] 指定给定用户上下文的密码。如果省略则提示输入。 |
4. |
/M [模块] 列出当前使用给定 exe/dll 名称的所有任务。如果未指定模块名称,则会显示所有加载的模块。 |
5. |
/SVC 显示每个进程中托管的服务。 |
6. |
/V 显示详细的任务信息。 |
7. |
/FI过滤器 显示与过滤器指定的给定条件匹配的一组任务。 |
8. |
/FO 格式 指定输出格式。有效值:“表”、“列表”、“CSV”。 |
9. |
/NH 指定“列标题”不应显示在输出中。仅对“TABLE”和“CSV”格式有效。 |
例子
TASKLIST
上面的命令将获取本地系统上运行的所有进程的列表。以下是按原样运行上述命令时呈现的输出快照。从以下输出中可以看到,您不仅可以获得系统上运行的各个进程,还可以获得每个进程的内存使用情况。
Image Name PID Session Name Session# Mem Usage ========================= ======== ================ =========== ============ System Idle Process 0 Services 0 4 K System 4 Services 0 272 K smss.exe 344 Services 0 1,040 K csrss.exe 528 Services 0 3,892 K csrss.exe 612 Console 1 41,788 K wininit.exe 620 Services 0 3,528 K winlogon.exe 648 Console 1 5,884 K services.exe 712 Services 0 6,224 K lsass.exe 720 Services 0 9,712 K svchost.exe 788 Services 0 10,048 K svchost.exe 832 Services 0 7,696 K dwm.exe 916 Console 1 117,440 K nvvsvc.exe 932 Services 0 6,692 K nvxdsync.exe 968 Console 1 16,328 K nvvsvc.exe 976 Console 1 12,756 K svchost.exe 1012 Services 0 21,648 K svchost.exe 236 Services 0 33,864 K svchost.exe 480 Services 0 11,152 K svchost.exe 1028 Services 0 11,104 K svchost.exe 1048 Services 0 16,108 K wlanext.exe 1220 Services 0 12,560 K conhost.exe 1228 Services 0 2,588 K svchost.exe 1276 Services 0 13,888 K svchost.exe 1420 Services 0 13,488 K spoolsv.exe 1556 Services 0 9,340 K
tasklist > process.txt
上面的命令获取任务列表显示的输出并将其保存到 process.txt 文件中。
tasklist /fi "memusage gt 40000"
上述命令只会获取内存大于 40MB 的进程。以下是可以呈现的示例输出。
Image Name PID Session Name Session# Mem Usage ========================= ======== ================ =========== ============ dwm.exe 916 Console 1 127,912 K explorer.exe 2904 Console 1 125,868 K ServerManager.exe 1836 Console 1 59,796 K WINWORD.EXE 2456 Console 1 144,504 K chrome.exe 4892 Console 1 123,232 K chrome.exe 4976 Console 1 69,412 K chrome.exe 1724 Console 1 76,416 K chrome.exe 3992 Console 1 56,156 K chrome.exe 1168 Console 1 233,628 K chrome.exe 816 Console 1 66,808 K
杀死特定进程
允许运行 Microsoft Windows XP Professional、Windows 2003 或更高版本的用户通过进程 ID (PID) 或映像名称从 Windows 命令行终止任务。用于此目的的命令是 TASKILL 命令。
句法
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
编号 | 选项和说明 |
---|---|
1. |
/S系统 指定要连接的远程系统 |
2. |
/U [域\]用户 指定应在其下执行命令的用户上下文。 |
3. |
/P [密码] 指定给定用户上下文的密码。如果省略则提示输入。 |
4. |
/FI 过滤器名称 应用过滤器来选择一组任务。允许使用“*”。前任。imagename eq acme* 请参阅下面的过滤器以获取更多信息和示例。 |
5. |
/PID 进程ID 指定要终止的进程的PID。使用TaskList 获取PID。 |
6. |
/我是 图片名称 指定要终止的进程的映像名称。通配符“*”可用于指定所有任务或图像名称。 |
7. |
/T 终止指定的进程及其启动的所有子进程。 |
8. |
/F 指定强制终止进程。 |
例子
taskkill /f /im notepad.exe
上面的命令会终止打开的记事本任务(如果打开)。
taskill /pid 9214
上面的命令杀死了一个进程号为9214的进程。
开始新流程
DOS 脚本还可以启动一个新进程。这是通过使用 START 命令来实现的。
句法
START "title" [/D path] [options] "command" [parameters]
其中
title - CMD 窗口标题栏的文本(必需。)
路径- 起始目录。
command - 要运行的命令、批处理文件或可执行程序。
参数- 传递给命令的参数。
编号 | 选项和说明 |
---|---|
1. |
/分钟 启动窗口最小化 |
2. |
/最大限度 启动窗口最大化。 |
3. |
/低的 使用 IDLE 优先级。 |
4. |
/普通的 使用 NORMAL 优先级。 |
5. |
/超出正常水平 使用 ABOVENORMAL 优先级类别。 |
6. |
/低于一般 使用 BELOWNORMAL 优先级类别。 |
7. |
/高的 使用高优先级。 |
8. |
/即时的 使用实时优先级。 |
例子
START "Test Batch Script" /Min test.bat
上面的命令将在新窗口中运行批处理脚本 test.bat。窗口将以最小化模式启动,并且标题为“测试批处理脚本”。
START "" "C:\Program Files\Microsoft Office\Winword.exe" "D:\test\TESTA.txt"
上面的命令实际上会在另一个进程中运行 Microsoft Word,然后在 MS Word 中打开文件 TESTA.txt。