Ce face Get-Process
Get-Process întoarce câte un obiect System.Diagnostics.Process pentru fiecare proces de pe computerul local. Fără parametri listează toate procesele; cu -Name (acceptă wildcard-uri, de exemplu chrom*) sau cu -Id alegi doar unele. Pentru că primești obiecte, nu text, le poți filtra și sorta direct cu Where-Object, Sort-Object și Select-Object.
Tabelul implicit are coloanele NPM(K) (memorie nepaginată, în KB), PM(M) (memorie paginabilă, în MB), WS(M) (working set, memoria folosită recent, în MB), CPU(s) (secunde de procesor pe toate nucleele), Id, SI (ID-ul sesiunii) și ProcessName. Valorile citite cu punct, de exemplu (Get-Process -Id $PID).WorkingSet, sunt în octeți. Variabila automată $PID conține ID-ul procesului PowerShell în care lucrezi.
Cmdlet-ul funcționează pe Windows, Linux și macOS și citește doar procesele locale: în PowerShell 7 nu are parametrul -ComputerName, iar pentru alt computer folosești Invoke-Command. Aliasul gps există peste tot, ps doar pe Windows (pe Linux și macOS, ps pornește comanda nativă).
Parametri
| Parametru | Descriere |
|---|---|
-Name |
Unul sau mai multe nume de procese, separate prin virgulă; acceptă wildcard-uri. Numele parametrului poate lipsi (Get-Process pwsh). |
-Id |
Unul sau mai multe ID-uri de proces (PID), separate prin virgulă. |
-InputObject |
Obiecte Process primite dintr-o variabilă sau prin pipeline. |
-IncludeUserName |
Adaugă proprietatea UserName, adică proprietarul procesului. |
-Module |
Întoarce modulele (fișierele .exe și .dll) încărcate de proces, nu procesul. Pe Windows, pentru procesele altor utilizatori ai nevoie de o sesiune pornită cu „Run as administrator”. |
-FileVersionInfo |
Întoarce informațiile de versiune ale fișierului principal al procesului (alias -FV). |
Ce returnează
Obiecte System.Diagnostics.Process; cu -Module, obiecte ProcessModule; cu -FileVersionInfo, obiecte FileVersionInfo.
Exemple
Exemplul 1: Toate procesele pwsh deschise
Fiecare fereastră PowerShell 7 este un proces pwsh separat; Get-Process -Id $PID l-ar afișa doar pe cel curent.
Get-Process -Name pwsh
Ieșire în terminal
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
83 96.21 105.95 4.33 1192 10 pwsh
79 83.81 117.61 2.16 10580 10 pwsh
Exemplul 2: Primele trei procese după timpul de procesor
Sortăm descrescător după proprietatea CPU și păstrăm doar numele, ID-ul și secundele de procesor.
Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 3 -Property Name, Id, CPU
Ieșire în terminal
Name Id CPU
---- -- ---
chrome 8124 512.359375
Code 6640 201.875
pwsh 1192 4.390625
Exemplul 3: Procesele care folosesc peste 500 MB de memorie
500MB este un literal numeric (524.288.000 de octeți). Coloana calculată MemorieMB transformă working set-ul din octeți în MB.
Get-Process |
Where-Object WorkingSet -GT 500MB |
Select-Object Name, Id, @{ Name = 'MemorieMB'; Expression = { [int]($_.WorkingSet / 1MB) } }
Ieșire în terminal
Name Id MemorieMB
---- -- ---------
chrome 8124 742
Code 6640 551
Greșeli frecvente
- Citești
WorkingSetsauPMși crezi că valoarea e în MB, ca în tabel: proprietățile sunt în octeți; împarte la1MB. - Cauți procesul după numele fișierului cu extensie (
Get-Process notepad.exe): numele procesului nu include.exe, scrieGet-Process notepad. - Trimiți rezultatul lui
Get-Process -Modulesau-FileVersionInfolaStop-Process: acești parametri întorc alte tipuri de obiecte, nu procese. - Scrii scripturi cu aliasul
psși le rulezi pe Linux sau macOS: acolopseste comanda nativă, care întoarce text; folosește numele completGet-Process.
Comenzi înrudite
Stop-Process: Oprește unul sau mai multe procese locale, după nume, după ID sau primite prin pipeline de la Get-Process.Start-Process: Pornește un program sau deschide un fișier cu aplicația asociată, opțional ca administrator, într-o fereastră nouă sau așteptând să se termine.Where-Object: Filtrează obiectele din pipeline și le lasă să treacă doar pe cele care îndeplinesc o condiție.Sort-Object: Sortează obiectele după una sau mai multe proprietăți, crescător sau descrescător, opțional doar primele N.Select-Object: Alege doar anumite proprietăți ale obiectelor, adaugă proprietăți calculate sau păstrează primele, ultimele ori unicele elemente.Invoke-Command: Rulează comenzi sau scripturi pe unul sau mai multe computere deodată și aduce înapoi rezultatele, inclusiv erorile.