在本章中,我们将讨论批处理脚本中涉及的各种过程.
在批处理脚本中, TASKLIST命令可用于获取系统中当前正在运行的进程列表.
TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
S.No. | 选项&描述 |
---|---|
1. | /S system 指定要连接的远程系统 |
2. | /U [domain\] user 指定执行命令的用户上下文. |
3. | /P [密码] 指定给定用户上下文的密码.如果省略则提示输入. |
4. | /M [module] 列出当前使用给定exe/dll名称的所有任务.如果未指定模块名称,则显示所有已加载的模块. |
5. | /SVC 显示每个流程中托管的服务. |
6. | /V 显示详细的任务信息. |
7. | /FI过滤器 显示一组与过滤器指定的给定条件匹配的任务. |
8. | /FO格式 指定输出格式.有效值:"TABLE","LIST","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
上面的命令获取tasklist显示的输出并将其保存到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]
S.No. | 选项&描述 |
---|---|
1. | /S system 指定要连接的远程系统 |
2. | /U [domain\] user 指定执行命令的用户上下文. |
3. | /P [密码] 指定给定用户上下文的密码.如果省略则提示输入. |
4. | /FI FilterName 应用过滤器以选择一组任务.允许使用"*".恩. imagename eq acme *有关其他信息和示例,请参阅以下过滤器. |
5. | /PID processID 指定要终止的进程的PID.使用TaskList获取PID. |
6. | /IM ImageName 指定要终止的进程的映像名称.通配符'*'可用于指定所有任务或图像名称. |
7. | /T 终止指定的流程和任何流程由它启动的子进程. |
8. | /F 指定强行终止进程. |
taskkill /f /im notepad.exe
上述命令会终止打开的记事本任务,如果打开.
taskill /pid 9214
上述命令杀死一个进程为9214的进程.
DOS脚本也可以完全启动一个新进程.这是通过使用START命令实现的.
START "title" [/D path] [options] "command" [parameters]
其中
标题 : CMD窗口标题栏的文本(必填.)
路径 : 起始目录.
命令 : 要运行的命令,批处理文件或可执行程序.
参数 : 传递给命令的参数.
S.No. | 选项&描述 |
---|---|
1. | /MIN 开始窗口最小化 |
2. | /MAX 启动窗口最大化. |
3. | /LOW 使用IDLE优先级. |
4. | /NORMAL 使用NORMAL优先级. |
5. | /ABOVENORMAL 使用ABOVENORMAL优先级. |
6 . | /BELOWNORMAL 使用BELOWNORMAL优先级. |
7. | /HIGH 使用HIGH优先级. |
8. | /REALTIME 使用REALTIME优先级. |
START "Test Batch Script" /Min test.bat
上面的命令将在新窗口中运行批处理脚本test.bat.窗口将以最小化模式启动,并且标题为"测试批处理脚本".
START "" "C:\Program Files\Microsoft Office\Winword.exe" "D:\test\TESTA.txt"
以上命令实际上将运行Microsoft word in另一个进程,然后在MS Word中打开文件TESTA.txt.