Como você lista todos os processos na linha de comando no Windows?

Respostas:

373

Trabalhando com cmd.exe:

tasklist

Se você possui o Powershell :

get-process

Via WMI:

processo wmic

(você também pode consultar máquinas remotas /node:ComputerOrIPe existem muitas outras maneiras de personalizar este comando: link )

Fator Místico
fonte
34
você pode direcioná-lo para a área de transferência e colar no bloco de notas: c: \> tasklist | clip
3
Especificamente, você pode tentar> tasklist / FI "SERVIÇOS eq wampapache"
RiggsFolly
Se eu listar tarefas com a lista de tarefas, como encerro uma tarefa no prompt de comando?
Kyle Delaney
Se você usar o PowerShell, é realmente conveniente para canalizá-lo para Out-GridView, como este: "Get-Process | Out-GridView"
Charles Burge
1
Ou simplesmente canalize-o diretamente em um arquivo de texto: C:> tasklist> C: \ myProcesses.txt
P.Brian.Mackey
85

Existe uma ferramenta chamada ferramenta de linha de comando da Instrumentação de Gerenciamento do Windows (wmic.exe) .

Você pode ligar wmic process listpara ver todos os processos.

Paulius Maruška
fonte
4
Achei isso tão interessante ao tentar resolver o mesmo problema e queria ressaltar que o wmic funcionou bem para mim. Com o wmic, você pode escolher a saída mais apropriada para análise, usando / format: csv ou / format: rawout. Cuidado: o wmic não implementa o formato csv corretamente (os campos nunca são citados, mesmo que contenham aspas ou vírgulas incorporadas), então fui forçado a usar xml.
JimN
1
@JimN - / format: rawxml e não / format: rawout
Joe Joe
Você pode filtrar qualquer processo usando o wmic?
Kiquenet
Se você precisa encontrar a linha de comando que lançou o processo esta é a resposta
Shane Gannon
29

Eu queria mencionar que o WMIC (entrada do pam) pode fazer muito mais. Dê uma olhada na minha página de trechos do WMIC, que é uma folha de dicas que mostra muitas das maneiras comuns de usar o WMIC (com a amostra de saída mostrada) aqui

user4197
fonte
19
  1. Lista de tarefas

  2. WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption, linha de comando, Processid

ou

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

fonte
15

Eu tentei no Windows 7. O comando é: TASKLIST /FI "IMAGENAME eq application_name"

Por exemplo: c:\>TASKLIST /FI "IMAGENAME eq notepad.exe"

Para mostrar todo o processo com detalhes da porta:

c:\> TASKLIST

Também para matar o processo, você pode usar c:\> pskill or tskill processname

Por exemplo: c:\> tskill notepad


fonte
1
TASKLIST /FI "IMAGENAME eq explorer.exe"retorna uma linha inteira como saída. Existe alguma maneira de obter apenas o próprio PID?
Pacerier 5/05
para um comando mais memorável em humanos, taskkillé sinônimo detskill
Mushroom Man
No 8.1, não existe tskillapenas taskkille pskillé fornecido pelo SysInternals, mas não pelo Windows. (@KiritoBepsibane)
dave_thompson_085
11

lista de tarefas ou pslist de sysinternals. Além disso, o processo get é incrível no PowerShell .

Hafthor
fonte
5

Se você usa o Powershell , ele possui o comando 'ps' (é alias ao Get-Process)

user15123
fonte
2

Se você estiver executando o Windows XP, tente usar o comando 'tasklist'. Eu tentei com o Vista e parece que também funciona.

Marcel
fonte
1

Use este comando para ver todos os processos na máquina Windows

tasklist / svc

LOKESH
fonte
1
Você pode filtrar qualquer processo usando a lista de tarefas com pipe ou outra maneira?
Kiquenet
@Kiquenet Sim, você pode: tasklist|findstr "firefox.exe". Se isso retornar um errorlevelde 1, o processo foi encontrado na lista de processos.
Março
@ MRT: findstrnão precisa de aspas ao redor da agulha, a menos que contenha espaço ou caractere especial como & embora find, e ambos retornem 1 por NÃO encontrado (0 por encontrado).
dave_thompson_085
@ dave_thompson_085 Claro que você está certo, mas, na minha opinião, é um bom hábito colocar frases entre aspas. Isso me impede de acidentalmente deixá-los de fora quando necessário. Além disso, torna a leitura mais fácil, pois é instantaneamente óbvio qual é o termo de pesquisa.
Março
1

Para matar um processo, use:

TASKKILL /F /IM processname.exe

Por exemplo:

TASKKILL /F /IM firefox.exe
Gaff
fonte
Esta não é uma boa resposta. A questão é como listar processos, não como matá-los.
Rikki Gibson
0

Eu tive o seguinte problema no Windows 2003 SP2: A lista de tarefas não retornou nenhuma saída no stdout ou stderr, quando chamada de um processo iniciado como serviço do Windows (mesmo na conta local). Lista de tarefas retornada com o código (não documentado) 128.

Chamado a partir do mesmo programa iniciado como um processo normal (não como serviço), ele foi executado.

Não há ajuda para mudar isso. Não consegui encontrar nenhum motivo ou solução, mas use "pslist / accepteula" de sysinternal em vez dele.

O mesmo problema com o skillkill: tive que substituí-lo pelo pskill.

Olivier Faucheux
fonte
0

Eu fiz um msproject (código-fonte c), o archive está disponível em: lsproc.zip archive do projeto

e arquivo exe: lsproc.exe binário

esta é uma saída da ferramenta de linha de comando:

lsproc 
Thierry Bremard
[email protected]
list binary files and driver with their local path on disks
most of code retreived from msdn site
--------------------

Process ID: 0
--------------------

Process ID: 4
<unknown>  (PID: 4)
<unknown>
    PageFaultCount             : 0x00002E4B
    PeakWorkingSetSize         : 0x00419000
    WorkingSetSize (Mem usage) : 0x0003A000 (232 ko)
    QuotaPeakPagedPoolUsage    : 0x00000000
    QuotaPagedPoolUsage        : 0x00000000
    QuotaPeakNonPagedPoolUsage : 0x00000000
    QuotaNonPagedPoolUsage     : 0x00000000
    PagefileUsage              : 0x00000000
    PeakPagefileUsage          : 0x00000000
--------------------

Process ID: 764
smss.exe  (PID: 764)
\SystemRoot\System32\smss.exe
    PageFaultCount             : 0x000000D6
    PeakWorkingSetSize         : 0x00082000
    WorkingSetSize (Mem usage) : 0x0006C000 (432 ko)
    QuotaPeakPagedPoolUsage    : 0x00006C34
    QuotaPagedPoolUsage        : 0x00001854
    QuotaPeakNonPagedPoolUsage : 0x000004D8
    QuotaNonPagedPoolUsage     : 0x00000280
    PagefileUsage              : 0x0002C000
    PeakPagefileUsage          : 0x00030000
--------------------

Process ID: 816
--------------------

Process ID: 844
winlogon.exe  (PID: 844)
\??\C:\WINDOWS\system32\winlogon.exe
    PageFaultCount             : 0x0000261D
    PeakWorkingSetSize         : 0x00B58000
    WorkingSetSize (Mem usage) : 0x0029B000 (2668 ko)
    QuotaPeakPagedPoolUsage    : 0x0001B054
    QuotaPagedPoolUsage        : 0x000185A4
    QuotaPeakNonPagedPoolUsage : 0x0000C988
    QuotaNonPagedPoolUsage     : 0x0000B6A0
    PagefileUsage              : 0x005EC000
    PeakPagefileUsage          : 0x006C6000
--------------------

...
    PeakPagefileUsage          : 0x03277000
--------------------

Process ID: 2712
lsproc.exe  (PID: 2712)
C:\Documents and Settings\LoginX\Bureau\lsproc.exe
    PageFaultCount             : 0x000000EC
    PeakWorkingSetSize         : 0x000F1000
    WorkingSetSize (Mem usage) : 0x000E4000 (912 ko)
    QuotaPeakPagedPoolUsage    : 0x000032B4
    QuotaPagedPoolUsage        : 0x000032B4
    QuotaPeakNonPagedPoolUsage : 0x00000400
    QuotaNonPagedPoolUsage     : 0x00000398
    PagefileUsage              : 0x00042000
    PeakPagefileUsage          : 0x0005C000
There are 131 drivers:
--------------------
   1: ntkrnlpa.exe
\WINDOWS\system32\ntkrnlpa.exe
--------------------
   2: hal.dll
\WINDOWS\system32\hal.dll
--------------------
   3: KDCOM.DLL
\WINDOWS\system32\KDCOM.DLL
--------------------
   4: BOOTVID.dll
\WINDOWS\system32\BOOTVID.dll


...


--------------------
 129: HTTP.sys
\SystemRoot\System32\Drivers\HTTP.sys
--------------------
 130: hiber_WMILIB.SYS
\SystemRoot\System32\Drivers\hiber_WMILIB.SYS
--------------------
 131: ntdll.dll
\WINDOWS\system32\ntdll.dll



--------------

fonte
arquivo não encontrado, senhor
Kiquenet
0

prompt de comando do windows aberto

C:\>tasklist                       // list all the tasks


C:\>Taskkill /IM firefox.exe /F     // Kill task by name

ou

C:\>Taskkill /PID 26356 /F           // kill task by PId
spacedev
fonte
-1

Olá, se você deseja listar os IDs de processo em execução em uma máquina Windows, abra uma cmdtela e digite:

netstat -aon | more

use a Entertecla para rolar.


fonte
Isso fornece apenas processos que estão acessando a rede, o que NÃO é todos os processos.
Dave_thompson_085