Udostępnij za pośrednictwem


Wait-Process

Czeka na zatrzymanie procesów przed zaakceptowaniem większej liczby danych wejściowych.

Składnia

Wait-Process
    [-Name] <String[]>
    [[-Timeout] <Int32>]
    [<CommonParameters>]
Wait-Process
    [-Id] <Int32[]>
    [[-Timeout] <Int32>]
    [<CommonParameters>]
Wait-Process
    [[-Timeout] <Int32>]
    -InputObject <Process[]>
    [<CommonParameters>]

Opis

To polecenie cmdlet nie działa w systemie Linux lub macOS.

Polecenie Wait-Process cmdlet czeka na zatrzymanie co najmniej jednego uruchomionego procesu przed zaakceptowaniem danych wejściowych. W konsoli programu PowerShell to polecenie cmdlet pomija wiersz polecenia do momentu zatrzymania procesów. Proces można określić według nazwy procesu lub identyfikatora procesu (PID) lub potoku obiektu procesu do Wait-Process.

Wait-Process działa tylko w przypadku procesów uruchomionych na komputerze lokalnym.

Przykłady

Przykład 1: Zatrzymywanie procesu i oczekiwanie

Ten przykład zatrzymuje proces Notatnika , a następnie czeka na zatrzymanie procesu przed kontynuowaniem przy użyciu następnego polecenia.

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

Polecenie Get-Process cmdlet pobiera identyfikator procesu procesu notatnika i zapisuje go w zmiennej $nid . Stop-Process zatrzymuje proces z identyfikatorem przechowywanym w $nidpliku . Wait-Process czeka na zatrzymanie procesu Notatnika .

Przykład 2: Określanie procesu

W tym przykładzie przedstawiono trzy różne metody określania procesu na Wait-Process. Pierwsze polecenie pobiera proces Notatnika i zapisuje go w zmiennej $p . Drugie polecenie używa parametru Id , trzecie polecenie używa parametru Name , a czwarte polecenie używa parametru InputObject .

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

Te polecenia mają te same wyniki i mogą być używane zamiennie.

Przykład 3. Oczekiwanie na procesy przez określony czas

W tym przykładzie Wait-Process poczeka 30 sekund na zatrzymanie procesów programu Outlook i winword . Jeśli oba procesy nie zostaną zatrzymane, polecenie cmdlet wyświetli błąd niepowodujący zakończenia i wiersz polecenia.

Wait-Process -Name outlook, winword -Timeout 30

Parametry

-Id

Określa identyfikatory procesów procesów. Aby określić wiele identyfikatorów, użyj przecinków, aby oddzielić identyfikatory. Aby znaleźć identyfikator PID procesu, wpisz Get-Process.

Type:Int32[]
Aliases:PID, ProcessId
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InputObject

Określa procesy, przesyłając obiekty procesu. Wprowadź zmienną zawierającą obiekty procesu lub wpisz polecenie lub wyrażenie, które pobiera obiekty procesu, takie jak Get-Process polecenie cmdlet.

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

-Name

Określa nazwy procesów. Aby określić wiele nazw, użyj przecinków, aby oddzielić nazwy. Symbole wieloznaczne nie są obsługiwane.

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

-Timeout

Określa maksymalny czas w sekundach, który to polecenie cmdlet oczekuje na zatrzymanie określonych procesów. Po wygaśnięciu tego interwału polecenie wyświetla błąd niepowodujący zakończenia, który wyświetla listę procesów, które są nadal uruchomione, i kończy oczekiwanie. Domyślnie nie ma limitu czasu.

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

Dane wejściowe

Process

Do tego polecenia cmdlet można przekazać obiekt procesu.

Dane wyjściowe

None

To polecenie cmdlet nie zwraca żadnych danych wyjściowych.

Uwagi

  • To polecenie cmdlet używa metody WaitForExit klasy System.Diagnostics.Process .

  • W przeciwieństwie do Start-Process -Waitmetody Wait-Process oczekuje tylko na zidentyfikowane procesy. Start-Process -Wait czeka na drzewo procesów (proces i wszystkie jego elementy podrzędne) do zakończenia przed zwróceniem kontrolki.