當工作管理員無法結束進程 (存取被拒、關鍵系統進程、惡意軟體自我保護) 時,Windows 內建的 ntsd (User-mode Debugger)、tasklist/tskskill (XP/Server 2003) 提供命令列層面的強力終止手段。
ntsd -c q -p PID
-c q:傳遞給偵錯器的指令「q」= 退出 (偵錯器退出時帶走被附加進程)。-p PID:目標進程 ID。SeDebugPrivilege (除錯權限),繞過 ACL 限制。System (PID 4)、smss.exe、csrss.exe (核心/Win32 子系統)。-c q 避免互動。tasklist | findstr 進程名
wmic process where "name='xxx.exe'" get ProcessId
Get-Process -Name xxx | Select-Object Id (PowerShell)
tasklist # 列出所有進程 (含 PID、記憶體、會話)
tskskill 進程名 # 依名稱終止
tskskill PID # 依 PID 終止
tskskill /A 進程名 # 終止所有會話的同名進程
tskskill /S 遠端電腦 進程名 # 遠端終止 (需權限)
優點: 簡單、無視窗、支援遠端。缺點: 僅限 XP/2003,Vista+ 移除 tskskill (改用 taskkill)。
taskkill /f /im 進程名.exe # 強制依名稱終止
taskkill /f /pid PID # 強制依 PID 終止
taskkill /f /fi "MEMUSAGE gt 500000" # 依記憶體過濾終止
taskkill /s 遠端電腦 /u 帳號 /p 密碼 /f /im 進程名.exe # 遠端
/f = 強制 (相當於 ntsd 權限提升),/fi = 過濾器 (強大查詢語法)。
| 工具 | 特色 |
|---|---|
| Process Explorer (procexp.exe) | 圖形化、顯示 DLL/控制代碼/執行緒/TCP 連線、可解除鎖定檔案、取代工作管理員 |
| PsKill (pskill.exe) | 命令列、支援遠端、高權限、pskill \\remote PID |
| PsList (pslist.exe) | 遠端列出進程資訊 |