在本章中,我们将讨论批处理脚本中涉及的各种进程。
在批处理脚本中,可以使用TASKLIST
命令来获取系统中当前正在运行的进程的列表。
语法
TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
以下是TASKLIST
命令的选项的说明。
exe / dll
名称的所有任务。 如果未指定模块名称,则显示所有已加载的模块。TABLE
,LIST
,CSV
。TABLE
和CSV
格式。示例
TASKLIST
以上命令将获得本地系统上运行的所有进程的列表。 以下是当上面的命令按原样运行时所呈现的输出的快照。 正如你从下面的输出中看到的,不仅可以获得系统上运行的各种进程,还可以获得每个进程的内存使用情况。
映像名称 PID 会话名 会话# 内存使用 ========================= ======== ================ =========== ============ System Idle Process 0 Services 0 8 K System 4 Services 0 136 K smss.exe 396 Services 0 936 K csrss.exe 568 Services 0 4,524 K wininit.exe 656 Services 0 5,328 K csrss.exe 668 Console 1 4,884 K winlogon.exe 764 Console 1 8,060 K services.exe 884 Services 0 9,320 K lsass.exe 892 Services 0 13,112 K ...... 进程太多了,此处省略部分~ svchost.exe 12092 Services 0 20,284 K svchost.exe 10536 Services 0 9,520 K chrome.exe 11416 Console 1 212,284 K chrome.exe 4564 Console 1 10,520 K chrome.exe 9824 Console 1 10,320 K chrome.exe 11984 Console 1 98,216 K chrome.exe 12080 Console 1 23,632 K svchost.exe 10920 Services 0 8,608 K svchost.exe 1656 Services 0 6,948 K tasklist.exe 2456 Console 1 8,044 K
示例2
tasklist > process.txt
以上将tasklist
命令的输出显示保存到process.txt
文件中。
tasklist /fi "memusage gt 40000"
以上命令只能获取内存大于40MB
的进程。 以下是示例的输出。
映像名称 PID 会话名 会话# 内存使用 ========================= ======== ================ =========== ============ svchost.exe 1936 Services 0 73,556 K Memory Compression 2032 Services 0 149,736 K java.exe 8944 Services 0 62,328 K explorer.exe 9544 Console 1 105,484 K ShellExperienceHost.exe 10028 Console 1 57,696 K SearchUI.exe 10160 Console 1 64,624 K chrome.exe 11416 Console 1 203,356 K chrome.exe 11984 Console 1 97,624 K chrome.exe 11360 Console 1 309,812 K QQ.exe 11672 Console 1 182,020 K WeChat.exe 4952 Console 1 58,820 K chrome.exe 1240 Console 1 80,776 K chrome.exe 10280 Console 1 133,196 K chrome.exe 10684 Console 1 108,056 K chrome.exe 4644 Console 1 48,396 K chrome.exe 2232 Console 1 97,652 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]
以下是TASKKILL
命令的选项的描述。
*
通配符。TaskList
来获取PID。*
可用于指定所有任务或图像名称。示例
taskkill /f /im notepad.exe
如果打开记事本,上面的命令杀死(终止)打开的记事本任务。
taskill /pid 9901
上面的命令杀死了一个ID为9901
的进程。
DOS脚本也可以完全启动一个新的进程。这是通过使用START
命令来实现的。
语法
START "title" [/D path] [options] "command" [parameters]
其中,
以下是START
命令的选项的描述。
IDLE
优先级。NORMAL
优先级。ABOVENORMAL
优先级。BELOWNORMAL
优先级。HIGH
优先级。REALTIME
优先级。示例
START "Test Batch Script" /Min test.bat
上述命令将在新窗口中运行批处理脚本test.bat
。 窗口将以最小化模式启动,并且指定标题为:“Test Batch Script”。
START "" "C:\Program Files\Microsoft Office\Winword.exe" "D:\test\TESTA.txt"
上述命令实际上将在另一个进程中运行Microsoft Word
,然后在MS Word中打开文件TESTA.txt
。