鍍金池/ 教程/ Java/ 批處理進(jìn)程
批處理決策結(jié)構(gòu)
批處理數(shù)組
批處理網(wǎng)絡(luò)設(shè)置
批處理教程
批處理文件夾操作
批處理進(jìn)程
批處理腳本調(diào)試
批處理函數(shù)
批處理運(yùn)算符
批處理注釋
批處理腳本日志
批處理語(yǔ)法
批處理設(shè)備
批處理輸入輸出
批處理字符串
批處理簡(jiǎn)介
批處理注冊(cè)表
批處理別名
批處理文件
批處理日期時(shí)間
批處理打印
批處理命令
批處理變量
批處理執(zhí)行環(huán)境

批處理進(jìn)程

在本章中,我們將討論批處理腳本中涉及的各種進(jìn)程。

1. 查看正在運(yùn)行的進(jìn)程列表

在批處理腳本中,可以使用TASKLIST命令來(lái)獲取系統(tǒng)中當(dāng)前正在運(yùn)行的進(jìn)程的列表。

語(yǔ)法

TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter]
[/FO format] [/NH]

以下是TASKLIST命令的選項(xiàng)的說(shuō)明。

  • /S system - 指定要連接的遠(yuǎn)程系統(tǒng)。
  • /U [domain]user - 指定命令應(yīng)在其下執(zhí)行的用戶上下文。
  • /P [password] - 指定給定用戶上下文的密碼。 提示輸入,如果省略。
  • /M [module] - 列出當(dāng)前使用給定的exe / dll名稱的所有任務(wù)。 如果未指定模塊名稱,則顯示所有已加載的模塊。
  • /SVC - 顯示每個(gè)進(jìn)程中托管的服務(wù)。
  • /V - 顯示詳細(xì)的任務(wù)信息。
  • /FI filter - 顯示一組符合過(guò)濾器指定條件的任務(wù)。
  • /FO format - 指定輸出格式。 有效值:TABLELIST,CSV。
  • /NH - 指定“列標(biāo)題”不應(yīng)顯示在輸出中。 僅適用于TABLECSV格式。

示例

TASKLIST

以上命令將獲得本地系統(tǒng)上運(yùn)行的所有進(jìn)程的列表。 以下是當(dāng)上面的命令按原樣運(yùn)行時(shí)所呈現(xiàn)的輸出的快照。 正如你從下面的輸出中看到的,不僅可以獲得系統(tǒng)上運(yùn)行的各種進(jìn)程,還可以獲得每個(gè)進(jìn)程的內(nèi)存使用情況。


映像名稱                       PID 會(huì)話名              會(huì)話#       內(nèi)存使用 
========================= ======== ================ =========== ============
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
...... 進(jìn)程太多了,此處省略部分~
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"

以上命令只能獲取內(nèi)存大于40MB的進(jìn)程。 以下是示例的輸出。

映像名稱                       PID 會(huì)話名              會(huì)話#       內(nèi)存使用
========================= ======== ================ =========== ============
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

2. 殺死/終止一個(gè)進(jìn)程

允許運(yùn)行Microsoft Windows XP Professional,Windows 2003或更高版本的用戶通過(guò)進(jìn)程ID(PID)或映像名稱從Windows命令行中終止任務(wù)。 殺死/終止一個(gè)進(jìn)程的命令是TASKILL命令。

語(yǔ)法

TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] 
[/PID processid | /IM imagename] } [/T] [/F]

以下是TASKKILL命令的選項(xiàng)的描述。

  • /S system - 指定要連接的遠(yuǎn)程系統(tǒng)
  • /U [domain]user - 指定命令應(yīng)在其下執(zhí)行的用戶上下文。
  • /P [password] - 指定給定用戶上下文的密碼。 提示輸入,如果省略。
  • /FI FilterName - 應(yīng)用過(guò)濾器來(lái)選擇一組任務(wù),允許使用*通配符。
  • /PID processID - 指定要終止的進(jìn)程的PID。使用TaskList來(lái)獲取PID。
  • /IM ImageName - 指定要終止的進(jìn)程的映像名稱。 通配符*可用于指定所有任務(wù)或圖像名稱。
  • /T - 終止指定的進(jìn)程以及由其啟動(dòng)的任何子進(jìn)程。
  • /F - 指定強(qiáng)制終止進(jìn)程。

示例

taskkill /f /im notepad.exe

如果打開(kāi)記事本,上面的命令殺死(終止)打開(kāi)的記事本任務(wù)。

taskill /pid 9901

上面的命令殺死了一個(gè)ID為9901的進(jìn)程。

3. 啟動(dòng)一個(gè)新的過(guò)程

DOS腳本也可以完全啟動(dòng)一個(gè)新的進(jìn)程。這是通過(guò)使用START命令來(lái)實(shí)現(xiàn)的。

語(yǔ)法

START "title" [/D path] [options] "command" [parameters]

其中,

  • title - CMD窗口標(biāo)題欄的文本(必需)
  • path - 起始目錄。
  • command - 命令,批處理文件或可執(zhí)行程序運(yùn)行。
  • parameters - 傳遞給命令的參數(shù)。

以下是START命令的選項(xiàng)的描述。

  • /MIN - 啟動(dòng)窗口最小化。
  • /MAX - 啟動(dòng)窗口最大化。
  • /LOW - 使用IDLE優(yōu)先級(jí)。
  • /NORMAL - 使用NORMAL優(yōu)先級(jí)。
  • /ABOVENORMAL - 使用ABOVENORMAL優(yōu)先級(jí)。
  • /BELOWNORMAL - 使用BELOWNORMAL優(yōu)先級(jí)。
  • /HIGH - 使用HIGH優(yōu)先級(jí)。
  • /REALTIME - 使用REALTIME優(yōu)先級(jí)。

示例

START "Test Batch Script" /Min test.bat

上述命令將在新窗口中運(yùn)行批處理腳本test.bat。 窗口將以最小化模式啟動(dòng),并且指定標(biāo)題為:“Test Batch Script”。

START "" "C:\Program Files\Microsoft Office\Winword.exe" "D:\test\TESTA.txt"

上述命令實(shí)際上將在另一個(gè)進(jìn)程中運(yùn)行Microsoft Word,然后在MS Word中打開(kāi)文件TESTA.txt。