這次來講一下怎麼找到特定的程序,簡單地說,就是套用數學公式跟運算式(>、<、=...)找出某些程序。
要使用運算式,需要用 /fi 參數,來找出符合篩選器指定條件的程序,語法如下:
tasklist /fi "<篩選器> <運算子> <值>"
<篩選器> 有下列組合:
篩選器名稱 可使用的運算子 可使用的值
----------- --------------- --------------------------
STATUS eq, ne RUNNING | NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne 影像名稱
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 工作階段號碼
SESSIONNAME eq, ne 工作階段名稱
CPUTIME eq, ne, gt, lt, ge, le CPU 的時間格式(hh:mm:ss)。
hh - 小時
mm - 分鐘
ss - 秒數
MEMUSAGE eq, ne, gt, lt, ge, le 記憶體使用量 (單位: KB)
USERNAME eq, ne 格式為:[domain\]user
WINDOWTITLE eq, ne 視窗標題
MODULES eq, ne DLL 名稱
運算子的說明如下:
eq:英文是 equal,中文是等於的意思,數學運算式 =
ne:英文是 not equal,中文是不相等,數學運算式 ≠
gt:英文是 greater than,中文是大於,數學運算式 >
lt:英文是 less than,中文是小於,數學運算式 <
ge:英文是 greater than or equal,中文是大於或等於,數學運算式 ≧
le:英文是 less than or equal,中文是小於或等於,數學運算式 ≦
例如要找出停止回應的程序,要指令:
tasklist /fi "STATUS eq NOT RESPONDING"
找出 CPU 時間超過 60 分鐘的程序(注意哦,60 分鐘相當於 1 小時):
tasklist /fi "cputime gt 1:00:00"
以顯示詳細的資訊,找出記憶體使用量超過 10M,且 CPU 時間不超過 30 分鐘的程序:
tasklist /v /fi "memusage gt 10240" /fi "cputime le 0:30:0"