Megosztás a következőn keresztül:


Wait-Process

Megvárja, amíg a folyamatok leállnak, mielőtt további bemenetet fogad.

Syntax

Name (Alapértelmezett)

Wait-Process
    [-Name] <String[]>
    [[-Timeout] <Int32>]
    [-Any]
    [-PassThru]
    [<CommonParameters>]

Id

Wait-Process
    [-Id] <Int32[]>
    [[-Timeout] <Int32>]
    [-Any]
    [-PassThru]
    [<CommonParameters>]

InputObject

Wait-Process
    [[-Timeout] <Int32>]
    -InputObject <Process[]>
    [-Any]
    [-PassThru]
    [<CommonParameters>]

Description

Ez a parancsmag linuxos vagy macOS rendszeren nem működik.

A Wait-Process parancsmag egy vagy több futó folyamat leállítására vár a bemenet elfogadása előtt. A PowerShell-konzolon ez a parancsmag letiltja a parancssort, amíg le nem állítják a folyamatokat. Megadhat egy folyamatot folyamatnév vagy folyamatazonosító (PID) alapján, vagy egy folyamatobjektumot a Wait-Process.

Wait-Process csak a helyi számítógépen futó folyamatokon működik.

Példák

1. példa: Folyamat leállítása és várakozás

Ez a példa leállítja a Jegyzettömb folyamatot, majd megvárja a folyamat leállítását, mielőtt a következő paranccsal folytatódik.

$nid = (Get-Process notepad).Id
Stop-Process -Id $nid
Wait-Process -Id $nid

A Get-Process parancsmag lekéri a Jegyzettömb folyamatának folyamatazonosítóját, és a $nid változóban tárolja. Stop-Process leállítja a folyamatot a $nidtárolt azonosítóval. Wait-Process megvárja, amíg a Jegyzettömb folyamat leáll.

2. példa: Folyamat megadása

Ez a példa három különböző módszert mutat be a Wait-Processfolyamat megadására. Az első parancs lekéri a Jegyzettömb folyamatot, és a $p változóban tárolja. A második parancs az Azonosító paramétert használja, a harmadik a Név paramétert, a negyedik parancs pedig az InputObject paramétert.

$p = Get-Process notepad
Wait-Process -Id $p.Id
Wait-Process -Name "notepad"
Wait-Process -InputObject $p

Ezek a parancsok ugyanazokkal az eredményekkel rendelkeznek, és felcserélhetők.

3. példa: Várjon egy adott időre a folyamatokra

Ebben a példában Wait-Process 30 másodpercet vár, amíg a Outlook és Winword folyamat leáll. Ha mindkét folyamat nem áll le, a parancsmag nem végződő hibát és parancssort jelenít meg.

Wait-Process -Name outlook, winword -Timeout 30

Paraméterek

-Any

Amikor több folyamatot ad át Wait-Process, a parancsmag megvárja, amíg az összes folyamat kilép a visszatérés előtt. Ezzel a paraméterrel a parancsmag akkor ad vissza, amikor a folyamatok bármelyike kilép. A fennmaradó folyamatok továbbra is futnak.

Ez a paraméter a PowerShell 7.4-ben lett hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Id

A folyamatok folyamatazonosítóit adja meg. Több azonosító megadásához használjon vesszőket az azonosítók elválasztásához. A folyamat PID-jének megkereséséhez írja be a Get-Process.

Paramétertulajdonságok

Típus:

Int32[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:folyamatazonosító, ProcessId

Paraméterkészletek

Id
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-InputObject

A folyamatobjektumok elküldésével adja meg a folyamatokat. Adjon meg egy változót, amely tartalmazza a folyamatobjektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri a folyamatobjektumokat, például a Get-Process parancsmagot.

Paramétertulajdonságok

Típus:

Process[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

InputObject
Position:Named
Kötelező:True
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Name

A folyamatok folyamatneveit adja meg. Több név megadásához használjon vesszőket a nevek elválasztásához. A helyettesítő karakterek nem támogatottak.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:ProcessName

Paraméterkészletek

Name
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-PassThru

Alapértelmezés szerint ez a parancsmag nem ad ki semmit. Ezzel a paraméterrel a parancsmag a várt folyamatokat képviselő objektumokat adja vissza.

Ez a paraméter a PowerShell 7.4-ben lett hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Timeout

A parancsmag másodpercben megadott maximális időtartamát adja meg, amíg a megadott folyamatok leállnak. Ha ez az időköz lejár, a parancs nem végződő hibát jelenít meg, amely felsorolja a még futó folyamatokat, és véget vet a várakozásnak. Alapértelmezés szerint nincs időtúllépés.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:TimeoutSec

Paraméterkészletek

(All)
Position:1
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

Bevitelek

Process

A parancsmaghoz folyamatobjektumot is csövezhet.

Kimenetek

None

Ez a parancsmag alapértelmezés szerint nem ad vissza kimenetet.

Process

A parancsmag a PassThru paraméter használatakor visszaadja a folyamatobjektumokat.

Jegyzetek

  • Ez a parancsmag a System.Diagnostics.Process osztály WaitForExit metódusát használja.

  • A Start-Process -Waitellentétben Wait-Process csak az azonosított folyamatokra vár. Start-Process -Wait megvárja, amíg a folyamatfa (a folyamat és annak összes leszármazottja) kilép, mielőtt visszavennénk az irányítást.