Get-Process

Lekéri a helyi számítógépen futó folyamatokat.

Syntax

Get-Process
   [[-Name] <String[]>]
   [-Module]
   [-FileVersionInfo]
   [<CommonParameters>]
Get-Process
   [[-Name] <String[]>]
   -IncludeUserName
   [<CommonParameters>]
Get-Process
   -Id <Int32[]>
   [-Module]
   [-FileVersionInfo]
   [<CommonParameters>]
Get-Process
   -Id <Int32[]>
   -IncludeUserName
   [<CommonParameters>]
Get-Process
   -InputObject <Process[]>
   [-Module]
   [-FileVersionInfo]
   [<CommonParameters>]
Get-Process
   -InputObject <Process[]>
   -IncludeUserName
   [<CommonParameters>]

Description

A Get-Process parancsmag lekéri a folyamatokat egy helyi vagy távoli számítógépen.

Paraméterek nélkül ez a parancsmag lekéri az összes folyamatot a helyi számítógépen. Megadhat egy adott folyamatot folyamatnév vagy folyamatazonosító (PID) alapján is, vagy átadhat egy folyamatobjektumot a folyamaton keresztül ennek a parancsmagnak.

Alapértelmezés szerint ez a parancsmag egy folyamatobjektumot ad vissza, amely részletes információkat tartalmaz a folyamatról, és támogatja azokat a metódusokat, amelyek lehetővé teszik a folyamat elindítását és leállítását. A parancsmag paramétereit is használhatja a Get-Process folyamatban futó program fájlverzió-információinak lekéréséhez és a folyamat által betöltött modulok lekéréséhez.

Példák

1. példa: A helyi számítógépen futó összes aktív folyamat listájának lekérése

Get-Process

Ez a parancs lekéri a helyi számítógépen futó összes aktív folyamat listáját. Az egyes oszlopok definícióját a Megjegyzések szakaszban találja.

2. példa: Egy vagy több folyamat összes rendelkezésre álló adatának lekérése

Get-Process winword, explorer | Format-List *

Ez a parancs lekéri a winword és az Explorer folyamatainak összes elérhető adatát a számítógépen. A Name paramétert használja a folyamatok megadásához, de kihagyja a választható paraméternevet. A folyamatoperátor (|) átadja az adatokat a Format-List parancsmagnak, amely megjeleníti a Winword és az Explorer folyamatobjektumok összes elérhető tulajdonságát (*).

A folyamatokat a folyamatazonosítójuk alapján is azonosíthatja. Például: Get-Process -Id 664, 2060.

3. példa: A megadott méretnél nagyobb munkakészlettel rendelkező összes folyamat lekérése

Get-Process | Where-Object {$_.WorkingSet -gt 20000000}

Ez a parancs lekéri az összes olyan folyamatot, amely 20 MB-nál nagyobb munkakészlettel rendelkezik. A parancsmagot használja az Get-Process összes futó folyamat lekéréséhez. A folyamatoperátor (|) átadja a folyamatobjektumokat a Where-Object parancsmagnak, amely csak a 20 000 000 bájtnál nagyobb értékű objektumot választja ki a WorkingSet tulajdonsághoz.

A WorkingSet a folyamatobjektumok számos tulajdonságának egyike. Az összes tulajdonság megtekintéséhez írja be a következőt Get-Process | Get-Member: . Alapértelmezés szerint az összes mennyiségtulajdonság értéke bájtban van, annak ellenére, hogy az alapértelmezett megjelenítés kilobájtban és megabájtban jeleníti meg őket.

4. példa: A számítógépen lévő folyamatok listázása prioritás alapján csoportokban

$A = Get-Process
$A | Get-Process | Format-Table -View priority

Ezek a parancsok a prioritási osztályuk alapján csoportokba sorolják a számítógépen lévő folyamatokat. Az első parancs lekéri a számítógépen lévő összes folyamatot, majd tárolja őket a $A változóban.

A második parancs a változóban $A tárolt Process objektumot a Get-Process parancsmaghoz, majd a Format-Table parancsmaghoz irányítja, amely a Prioritás nézet használatával formázza a folyamatokat.

A Prioritás nézet és más nézetek a PowerShell kezdőkönyvtárában () lévő PS1XML formátumú fájlokban vannak$pshome definiálva.

5. példa: Tulajdonság hozzáadása a szabványos Get-Process kimeneti megjelenítéshez

Get-Process pwsh | Format-Table `
    @{Label = "NPM(K)"; Expression = {[int]($_.NPM / 1024)}},
    @{Label = "PM(K)"; Expression = {[int]($_.PM / 1024)}},
    @{Label = "WS(K)"; Expression = {[int]($_.WS / 1024)}},
    @{Label = "VM(M)"; Expression = {[int]($_.VM / 1MB)}},
    @{Label = "CPU(s)"; Expression = {if ($_.CPU) {$_.CPU.ToString("N")}}},
    Id, MachineName, ProcessName -AutoSize

NPM(K) PM(K) WS(K) VM(M) CPU(s)   Id MachineName ProcessName
------ ----- ----- ----- ------   -- ----------- -----------
     6 23500 31340   142 1.70   1980 .           pwsh
     6 23500 31348   142 2.75   4016 .           pwsh
    27 54572 54520   576 5.52   4428 .           pwsh

Ez a példa lekéri a folyamatokat a helyi számítógépről és egy távoli számítógépről (S1). A lekért folyamatokat a rendszer arra a Format-Table parancsra irányítja, amely hozzáadja a MachineName tulajdonságot a szabványos Get-Process kimeneti megjelenítéshez.

6. példa: Verzióinformációk lekérése egy folyamathoz

Get-Process pwsh -FileVersionInfo

ProductVersion   FileVersion      FileName
--------------   -----------      --------
6.1.2            6.1.2            C:\Program Files\PowerShell\6\pwsh.exe

Ez a parancs a FileVersionInfo paramétert használja a PowerShell-folyamat fő moduljának számító fájl verzióinformációinak pwsh.exe lekéréséhez.

Ha olyan folyamatokkal szeretné futtatni ezt a parancsot, amelyek nem a Windows Vista vagy a Windows újabb verzióival rendelkeznek, a PowerShellt a Futtatás rendszergazdaként beállítással kell megnyitnia.

7. példa: A megadott folyamattal betöltött modulok lekérése

Get-Process SQL* -Module

Ez a parancs a Modul paramétert használja a folyamat által betöltött modulok lekéréséhez. Ez a parancs lekéri azoknak a folyamatoknak a moduljait, amelyek neve a következővel SQLkezdődik: .

Ha a parancsot a Windows Vista és a Windows újabb verzióiban olyan folyamatokkal szeretné futtatni, amelyek nem Öné, a PowerShellt a Futtatás rendszergazdaként beállítással kell elindítania.

8. példa: Folyamat tulajdonosának megkeresése

Get-Process pwsh -IncludeUserName

Handles      WS(K)   CPU(s)     Id UserName            ProcessName
-------      -----   ------     -- --------            -----------
    782     132080     2.08   2188 DOMAIN01\user01     pwsh

Ez a parancs bemutatja, hogyan keresheti meg egy folyamat tulajdonosát. Windows rendszeren az IncludeUserName paraméter emelt szintű felhasználói jogosultságokat igényel (futtatás rendszergazdaként). A kimenetből kiderül, hogy a tulajdonos .Domain01\user01

9. példa: Automatikus változó használata az aktuális munkamenetet üzemeltető folyamat azonosításához

Get-Process pwsh

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

Get-Process -Id $PID

NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
------    -----      -----     ------      --  -- -----------
    83    96.21      77.53       4.39    1192  10 pwsh

Ezek a parancsok bemutatják, hogyan használható az $PID automatikus változó az aktuális PowerShell-munkamenetet üzemeltető folyamat azonosítására. Ezzel a módszerrel megkülönböztetheti a gazdafolyamatot más PowerShell-folyamatoktól, amelyeket le szeretne állítani vagy bezárni.

Az első parancs lekéri az aktuális munkamenet összes PowerShell-folyamatát.

A második parancs lekéri az aktuális munkamenetet üzemeltető PowerShell-folyamatot.

10. példa: Az összes főablakcímmel rendelkező folyamat lekérése és megjelenítése egy táblázatban

Get-Process | Where-Object {$_.mainWindowTitle} | Format-Table Id, Name, mainWindowtitle -AutoSize

Ez a parancs lekéri az összes főablakcímmel rendelkező folyamatot, és megjeleníti azokat egy táblázatban a folyamatazonosítóval és a folyamat nevével.

A mainWindowTitle tulajdonság csak egyike a visszaadott Process objektum Get-Process számos hasznos tulajdonságának. Az összes tulajdonság megtekintéséhez a parancs eredményeit Get-Process a parancsmagba Get-Process | Get-Memberkell átirányítaniGet-Member.

Paraméterek

-FileVersionInfo

Azt jelzi, hogy ez a parancsmag lekéri a folyamatban futó program fájlverzió-információit.

A Windows Vista és a Windows újabb verzióiban a Futtatás rendszergazdaként lehetőséggel kell megnyitnia a PowerShellt, hogy ezt a paramétert olyan folyamatokon használja, amelyek nem a tulajdonában lévők.

A távoli számítógépen futó folyamatok fájlverzió-információinak lekéréséhez használja a Invoke-Command parancsmagot.

Ez a paraméter egyenértékű az egyes folyamatobjektumok MainModule.FileVersionInfo tulajdonságának lekérésével. Ha ezt a paramétert használja, Get-Process a System.Diagnostics.FileVersionInfofileVersionInfo objektumot adja vissza, nem folyamatobjektumot. Így nem irányíthatja át a parancs kimenetét olyan parancsmagra, amely folyamatobjektumot vár, például Stop-Process.

Type:SwitchParameter
Aliases:FV, FVI
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Id

Egy vagy több folyamatot ad meg folyamatazonosító (PID) alapján. Több azonosító megadásához használjon vesszőket az azonosítók elválasztásához. Egy folyamat pin-kódjának megkereséséhez írja be a következőt Get-Process: .

Type:Int32[]
Aliases:PID
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-IncludeUserName

Azt jelzi, hogy a process objektum UserName értéke a parancs eredményeivel együtt lesz visszaadva.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Egy vagy több folyamatobjektumot határoz meg. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat.

Type:Process[]
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Module

Azt jelzi, hogy ez a parancsmag lekéri a folyamatok által betöltött modulokat.

A Windows Vista és a Windows újabb verzióiban a Futtatás rendszergazdaként lehetőséggel kell megnyitnia a PowerShellt, hogy ezt a paramétert olyan folyamatokon használja, amelyek nem a tulajdonában lévők.

Egy folyamat által egy távoli számítógépen betöltött modulok lekéréséhez használja a Invoke-Command parancsmagot.

Ez a paraméter egyenértékű az egyes folyamatobjektumok Modules tulajdonságának lekérésével. Ha ezt a paramétert használja, ez a parancsmag egy System.Diagnostics.ProcessModuleProcessModule objektumot ad vissza, nem folyamatobjektumot. Így nem irányíthatja át a parancs kimenetét olyan parancsmagra, amely folyamatobjektumot vár, például Stop-Process.

Ha ugyanabban a parancsban a Module és a FileVersionInfo paramétereket is használja, ez a parancsmag egy FileVersionInfo objektumot ad vissza, amely az összes modul fájlverziójára vonatkozó információkat tartalmaz.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Name

Egy vagy több folyamatot ad meg folyamatnév alapján. Több folyamatnevet is beírhat (vesszővel elválasztva), és használhat helyettesítő karaktereket. A paraméter neve (Name) megadása nem kötelező.

Type:String[]
Aliases:ProcessName
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:True

Bevitelek

Process

Folyamatobjektumot a parancsmagba helyezhet át.

Kimenetek

System.Diagnostics.Process, System.Diagnostics.FileVersionInfo, System.Diagnostics.ProcessModule

Alapértelmezés szerint ez a parancsmag egy System.Diagnostics.Process objektumot ad vissza. Ha a FileVersionInfo paramétert használja, az egy System.Diagnostics.FileVersionInfo objektumot ad vissza. Ha a Modul paramétert használja a FileVersionInfo paraméter nélkül, az egy System.Diagnostics.ProcessModule objektumot ad vissza.

Jegyzetek

  • A parancsmagra a beépített aliasai ps és gpsa . További információ: about_Aliases.
  • A Windows 64 bites verzióját futtató számítógépeken a PowerShell 64 bites verziója csak 64 bites folyamatmodulokat kap, a PowerShell 32 bites verziója pedig csak 32 bites folyamatmodulokat.
  • A PowerShellben használhatja a Windows Management Instrumentation (WMI) Win32_Process objektum tulajdonságait és metódusait. További információkért lásd Get-WmiObject a WMI SDK-t.
  • A folyamatok alapértelmezett megjelenítése egy táblázat, amely az alábbi oszlopokat tartalmazza. A folyamatobjektumok összes tulajdonságának leírásáért lásd a Folyamat tulajdonságai című témakört.
    • Fogópontok: A folyamat által megnyitott leírók száma.
    • NPM(K): A folyamat által használt nem lapozott memória mennyisége kilobájtban.
    • PM(K): A folyamat által használt lapozható memória mennyisége kilobájtban.
    • WS(K): A folyamat munkakészletének mérete kilobájtban. A munkakészlet a folyamat által legutóbb hivatkozott memórialapokból áll.
    • VM(M): A folyamat által használt virtuális memória mennyisége megabájtban. A virtuális memória magában foglalja a lemez lapozófájljainak tárterületét.
    • CPU(k): A folyamat által az összes processzoron felhasznált processzoridő másodpercben megadott mennyisége.
    • Azonosító: A folyamat folyamatazonosítója (PID).
    • ProcessName: A folyamat neve. A folyamatokkal kapcsolatos fogalmak magyarázatát a Súgó és támogatási központ szószedete és a Feladatkezelő súgója ismerteti.
  • Használhatja az elérhető Format-Tablefolyamatok beépített alternatív nézeteit is ( például StartTime és Priority), és saját nézeteket is tervezhet.