題 如何在Windows中的命令行中列出所有進程?


在Unix上有一個等同於'ps'的命令可以列出Windows機器上的所有進程嗎?


259
2017-09-10 05:50


起源


這個 從命令行啟動和停止Windows中的進程 可能有用。 - Aniket Thakur


答案:


使用cmd.exe:

tasklist

如果你有 電源外殼

get-process

通過WMI:

wmic過程

(你也可以查詢遠程機器 /node:ComputerOrIP,還有很多方法可以自定義此命令: 鏈接


338
2017-09-10 05:52



你可能想把它管道到剪貼板然後粘貼到記事本:c:\> tasklist |夾
具體你可以嘗試> tasklist / FI“SERVICES eq wampapache” - RiggsFolly
如果我使用任務列表列出任務,那麼如何從命令提示符結束任務? - Kyle Delaney
如果你使用Powershell,將它管道輸出到Out-Gridview真的很方便,比如:“Get-Process | Out-GridView” - Charles Burge


有一個叫做的工具 Windows Management Instrumentation命令行工具(wmic.exe)

你可以打電話 wmic process list 查看所有流程。


85
2017-09-10 05:56



我找到了這個s.o.嘗試解決同樣的問題時,我想指出wmic對我來說效果很好。使用wmic,您可以選擇最合適的解析輸出,使用/ format:csv或/ format:rawout。當心:wmic呢 不 正確實現csv格式(字段是 決不 引用,即使它們包含嵌入式引號或逗號),所以我被迫使用xml。 - JimN
@JimN - / format:rawxml而不是/ format:rawout - Joe
你能用wmic過濾任何進程嗎? - Kiquenet
如果您需要找到啟動該過程的命令行,這就是答案 - Shane Gannon


我想提一下,WMIC(pam的條目)可以做到 批量 更多。看看我的WMIC片段頁面,這是一個備忘單,顯示了許多使用WMIC的常用方法(顯示了示例輸出) 這裡


28
2017-09-15 09:53





  1. 任務列表

  2. WMIC /OUTPUT:C:\ProcessList.txt PROCESS獲取Caption,Commandline,Processid

要么

 WMIC /OUTPUT:C:\ProcessList.txt path win32_process get Caption,Processid,Commandline

19
2018-02-15 08:06





我試過Windows 7.命令是: TASKLIST /FI "IMAGENAME eq application_name"

例如: c:\>TASKLIST /FI "IMAGENAME eq notepad.exe"

使用端口詳細信息顯示所有進程:

c:\> TASKLIST

也可以殺死你可以使用的進程 c:\> pskill or tskill processname

例如: c:\> tskill notepad


13
2017-11-08 11:56



TASKLIST /FI "IMAGENAME eq explorer.exe" 返回一行作為輸出。無論如何只有PID本身? - Pacerier
為了一個更難忘的命令, taskkill 是同義詞 tskill - Mushroom Man
在8.1,沒有 tskill 只要 taskkill,和 pskill 由SysInternals提供,但不是Windows。 (@KiritoBepsibane) - dave_thompson_085


任務列表或 則PsList 來自sysinternals。此外,get-process令人驚嘆 電源外殼


11
2017-09-10 05:57





如果你使用 電源外殼,它有'ps'命令(它是別名的Get-Process)


4
2017-09-10 07:48





如果您運行Windows XP,請嘗試使用'tasklist'命令。我用Vista試了一下它似乎也有效。


2
2017-09-10 05:52





使用此命令可以查看Windows機器中的所有進程

任務列表/ svc


1
2017-09-05 07:30



您可以使用管道或其他方式使用任務列表過濾任何流程嗎? - Kiquenet
@Kiquenet是的你可以: tasklist|findstr "firefox.exe"。如果這返回一個 errorlevel 在流程列表中找到了1個流程。 - mrt
@mrt: findstr 除非包含空格或特殊字符,否則不需要針周圍的引號 find 確實如此,並且兩者都返回1找不到(找到0)。 - dave_thompson_085
@ dave_thompson_085當然你是對的,但在我看來,將字符串放入引號是一個好習慣。這使我無法在需要時意外地將它們排除在外。此外,它使語句更容易閱讀,因為它立即明顯的搜索術語是什麼。 - mrt


要殺死進程使用:

TASKKILL /F /IM processname.exe

例如:

TASKKILL /F /IM firefox.exe

1
2018-05-08 11:58