Wait-Process

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

Syntax

Wait-Process
    [-Name] <String[]>
    [[-Timeout] <Int32>]
    [<CommonParameters>]
Wait-Process
    [-Id] <Int32[]>
    [[-Timeout] <Int32>]
    [<CommonParameters>]
Wait-Process
    [[-Timeout] <Int32>]
    -InputObject <Process[]>
    [<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 következőre Wait-Processcsövezhet.

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 folyamatazonosítóját, és tárolja a $nid változóban. Stop-Process leállítja a folyamatot a következőben $nidtárolt azonosítóval: . Wait-Processvár, 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 egy folyamat megadására Wait-Process. Az első parancs lekéri a Jegyzettömb folyamatot, és a $p változóban tárolja. A második parancs az Id paramétert, a harmadik parancs a Név paramétert, a negyedik pedig az InputObject paramétert használja.

$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 30 másodpercet vár, Wait-Process amíg az Outlook és a 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

-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 következőt Get-Process:

Type:Int32[]
Aliases:PID, ProcessId
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:Process[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:String[]
Aliases:ProcessName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:Int32
Aliases:TimeoutSec
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

Process

A parancsmaghoz folyamatobjektumot is csövezhet.

Kimenetek

None

Ez a parancsmag nem ad vissza kimenetet.

Jegyzetek

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

  • Ellentétben Start-Process -Waita folyamatokkal, 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 az ellenőrzés visszatérése előtt.