Partager via


Wait-Process

Attend l'arrêt des processus avant d'accepter une autre entrée.

Syntax

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

Description

Cette applet de commande ne fonctionne pas sur Linux ou macOS.

L’applet Wait-Process de commande attend qu’un ou plusieurs processus en cours d’exécution soient arrêtés avant d’accepter l’entrée. Dans la console PowerShell, cette applet de commande supprime l’invite de commandes jusqu’à ce que les processus soient arrêtés. Vous pouvez spécifier un processus par nom de processus ou ID de processus (PID) ou diriger un objet de processus vers Wait-Process.

Wait-Process fonctionne uniquement sur les processus en cours d’exécution sur l’ordinateur local.

Exemples

Exemple 1 : Arrêter un processus et attendre

Cet exemple arrête le processus du Bloc-notes , puis attend que le processus soit arrêté avant de continuer avec la commande suivante.

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

L’applet Get-Process de commande obtient l’ID de processus du bloc-notes et le stocke dans la $nid variable. Stop-Process arrête le processus avec l’ID stocké dans $nid. Wait-Process attend que le processus du Bloc-notes soit arrêté.

Exemple 2 : Spécification d’un processus

Cet exemple montre trois méthodes différentes pour spécifier un processus à Wait-Process. La première commande obtient le processus bloc-notes et le stocke dans la $p variable . La deuxième commande utilise le paramètre Id , la troisième commande utilise le paramètre Name et la quatrième commande utilise le paramètre InputObject .

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

Ces commandes produisent les mêmes résultats et peuvent être utilisées indifféremment.

Exemple 3 : Attendre les processus pendant une durée spécifiée

Dans cet exemple, Wait-Process attend 30 secondes que les processus Outlook et Winword s’arrêtent. Si les deux processus ne se sont pas arrêtés, l’applet de commande affiche une erreur sans fin d’exécution et l’invite de commandes.

Wait-Process -Name outlook, winword -Timeout 30

Paramètres

-Id

Spécifie les identificateurs des processus. Lorsque vous spécifiez plusieurs identificateurs, séparez-les à l'aide de virgules. Pour rechercher le PID d’un processus, tapez Get-Process.

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

-InputObject

Spécifie les processus en envoyant des objets processus. Entrez une variable qui contient les objets de processus, ou tapez une commande ou une expression qui obtient les objets de processus, comme l’applet de Get-Process commande .

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

-Name

Spécifie les noms des processus. Pour spécifier plusieurs noms, séparez-les à l’aide de virgules. Les caractères génériques ne sont pas pris en charge.

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

-Timeout

Spécifie la durée maximale, en secondes, pendant laquelle cette applet de commande attend que les processus spécifiés s’arrêtent. Lorsque ce délai expire, la commande affiche une erreur sans fin d’exécution qui répertorie les processus dont l’exécution se poursuit et elle met un terme à l’attente. Par défaut, il n’y a pas de délai d’attente.

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

Entrées

Process

Vous pouvez diriger un objet de processus vers cette applet de commande.

Sorties

None

Cette applet de commande ne retourne pas de sortie.

Notes

  • Cette applet de commande utilise la méthode WaitForExit de la classe System.Diagnostics.Process .

  • Contrairement à Start-Process -Wait, Wait-Process attend uniquement les processus identifiés. Start-Process -Wait attend que l’arborescence de processus (le processus et tous ses descendants) se termine avant de retourner le contrôle.