在本章中,我們將討論批次處理指令碼中涉及的各種進程。
在批次處理指令碼中,可以使用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
。