Czy w systemie Unix istnieje polecenie równoważne „ps”, które może wyświetlać listę wszystkich procesów na komputerze z systemem Windows?
291
Czy w systemie Unix istnieje polecenie równoważne „ps”, które może wyświetlać listę wszystkich procesów na komputerze z systemem Windows?
Odpowiedzi:
Praca z cmd.exe:
Jeśli masz PowerShell :
Przez WMI:
(możesz również odpytywać zdalne komputery
/node:ComputerOrIP
, a istnieje wiele sposobów na dostosowanie tego polecenia: link )źródło
Istnieje narzędzie o nazwie Narzędzie wiersza polecenia Instrumentacji zarządzania Windows (wmic.exe) .
Możesz zadzwonić,
wmic process list
aby zobaczyć wszystkie procesy.źródło
Chciałem wspomnieć, że WMIC (wpis pam) może zrobić znacznie więcej. Rzuć okiem na moją stronę z fragmentami WMIC, która jest ściągą pokazującą wiele typowych sposobów używania WMIC (z pokazanymi przykładowymi danymi wyjściowymi) tutaj
źródło
Lista zadań
WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption, Commandline, Processid
lub
źródło
Próbowałem w systemie Windows 7. Polecenie to:
TASKLIST /FI "IMAGENAME eq application_name"
Na przykład:
c:\>TASKLIST /FI "IMAGENAME eq notepad.exe"
Aby wyświetlić cały proces ze szczegółami portów:
Również, aby zabić proces, którego możesz użyć
c:\> pskill or tskill processname
Na przykład:
c:\> tskill notepad
źródło
TASKLIST /FI "IMAGENAME eq explorer.exe"
zwraca jedną linię jako wynik. Czy w ogóle można uzyskać sam PID?taskkill
jest równoznaczne ztskill
tskill
tylkotaskkill
ipskill
jest dostarczany przez SysInternals, ale nie przez Windows. (@KiritoBepsibane)tasklist lub pslist z sysinternals. Poza tym get-process jest niesamowity z PowerShell .
źródło
Jeśli używasz programu PowerShell , ma polecenie „ps” (jest aliasowane do Get-Process)
źródło
Jeśli używasz systemu Windows XP, spróbuj użyć polecenia „tasklist”. Wypróbowałem to z Vistą i wydaje się, że również działa.
źródło
Użyj tego polecenia, aby zobaczyć wszystkie procesy na komputerze z systemem Windows
tasklist / svc
źródło
tasklist|findstr "firefox.exe"
. Jeśli zwracaerrorlevel
1, proces został znaleziony na liście procesów.findstr
nie potrzebuje cudzysłowów wokół igły, chyba że zawiera spację lub znak specjalny, taki jak i chociażfind
tak jest, i obie zwracają 1 za NIE znalezione (0 za znalezione).Aby zabić proces, użyj:
Na przykład:
źródło
Miałem następujący problem w systemie Windows 2003 SP2: Tasklist nie zwrócił żadnych danych wyjściowych na stdout lub stderr, gdy został wywołany z procesu uruchomionego jako usługa systemu Windows (nawet pod kontem lokalnym). Tasklist powrócił z (nieudokumentowanym) kodem 128.
Wywołany z tego samego programu, uruchomiony jako normalny proces (nie jako usługa), uruchomił się.
Brak pomocy, aby to zmienić. Nie mogłem znaleźć żadnego powodu ani rozwiązania, ale zamiast tego używam „pslist / accepteula” sysinternal.
Ten sam problem z Taskkillem: musiałem go zastąpić pskill.
źródło
Zrobiłem msproject (kod źródłowy c), archiwum jest dostępne pod: archiwum projektu lsproc.zip
i plik exe: plik binarny lsproc.exe
to wyjście narzędzia wiersza poleceń:
źródło
otwórz wiersz polecenia systemu Windows
lub
źródło
Witaj, jeśli chcesz wyświetlić listę uruchomionych identyfikatorów procesów na komputerze z systemem Windows, otwórz
cmd
ekran i wpisz:użyj Enterklawisza do przewijania.
źródło