最近想寫一個可以監控 Memory 使用狀況的小程式
花了許多時間在查 Windows API 的資料
沒想到原來 Windows XP/ Windows 2003 就有提供一個超級好用的 Tasklist程式
透過 Tasklist 可以把目前系統的工作列表 (就像是平常習慣用的工作管理員一樣)
至於 Tasklist的使用方法
只要 DOS下輸入 "tasklist /?" 就會把所有的參數都列出來
懶得自己寫程式的話
用 Tasklist就可以把目前系統工作列出來了
不過現在我自己還有一個小小的問題就是
這個 tasklist 並沒有定時執行的功能
看樣子不能事事都靠微軟
還是得自己再想想辦法才是
=========== TaskList 的使用方法 ===========
TASKLIST [/S system [/U username [/P [password]]]]
[/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
描述:
這個命令列工具顯示了目前在本機或遠端
電腦上執行的應用程式和相關聯的
工作/處理程序。
參數清單:
/S system 指定要連線的遠端系統。
/U [domain\]user 指定要執行命令的
使用者內容。
/P [password] 指定提供的使用者內容
的密碼。如果省略的話請提示輸入。
/M [module] 列出所有已載入 DLL 模組,
符合模式名稱的工作。
如果沒有指定模組名稱,
則顯示每一工作所有已載入的模組。
/SVC 在每一處理程序中顯示服務。
/V 指定要顯示的
詳細資訊。
/FI filter 顯示符合篩選器指定條件
的工作組。
/FO format 指定輸出的格式。
有效值: TABLE、LIST 或 CSV。
/NH 指定 "Column Header"
不應該顯示在輸出。
只有對 TABLE 和 CSV 格式。
/? 顯示這個說明/使用方法。
篩選器:
篩選器名稱 正確的操作器 正確值
----------- --------------- --------------
STATUS eq, ne RUNNING | NOT RESPONDING
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 格式中的使用者
名稱
SERVICES eq, ne 服務名稱
WINDOWTITLE eq, ne 視窗標題
MODULES eq, ne DLL 名稱
範例:
TASKLIST
TASKLIST /M
TASKLIST /V
TASKLIST /SVC
TASKLIST /M wbem*
TASKLIST /S system /FO LIST
TASKLIST /S system /U domain\username /FO CSV /NH
TASKLIST /S system /U username /P password /FO TABLE /NH
TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"