Wait-Process
Attend que les processus soient arrêtés avant d’accepter davantage d’entrée.
Syntaxe
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 de commande Wait-Process
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 s’exécutant sur l’ordinateur local.
Exemples
Exemple 1 : Arrêter un processus et attendre
Cet exemple montre comment arrêter le processus bloc-notes, puis attendre 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 de commande Stop-Process
arrête le processus avec l’ID stocké dans $nid
.
Exemple 2 : Spécification d’un processus
Cet exemple montre trois méthodes différentes de spécification d’un processus pour Wait-Process
. La première commande obtient le processus du Bloc-notes et le stocke dans la variable $p
. La deuxième commande utilise le paramètre ID de
$p = Get-Process notepad
Wait-Process -Id $p.id
Wait-Process -Name "notepad"
Wait-Process -InputObject $p
Ces commandes ont les mêmes résultats et peuvent être utilisées de manière interchangeable.
Exemple 3 : Attendre les processus pendant une heure spécifiée
Dans cet exemple,
Wait-Process -Name outlook, winword -Timeout 30
Paramètres
-Id
Spécifie les ID de processus des processus. Pour spécifier plusieurs ID, utilisez des virgules pour séparer les ID.
Pour rechercher le PID d’un processus, tapez Get-Process
.
Type: | Int32[] |
Alias: | PID, ProcessId |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-InputObject
Spécifie les processus en envoyant des objets de processus. Entrez une variable qui contient les objets de processus, ou tapez une commande ou une expression qui obtient les objets de processus, tels que l’applet de commande Get-Process
.
Type: | Process[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Name
Spécifie les noms de processus des processus. Pour spécifier plusieurs noms, utilisez des virgules pour séparer les noms. Les caractères génériques ne sont pas pris en charge.
Type: | String[] |
Alias: | ProcessName |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Timeout
Spécifie la durée maximale, en secondes, que cette applet de commande attend que les processus spécifiés s’arrêtent. Lorsque cet intervalle expire, la commande affiche une erreur sans fin qui répertorie les processus qui sont toujours en cours d’exécution et met fin à l’attente. Par défaut, il n’y a pas de délai d’attente.
Type: | Int32 |
Alias: | TimeoutSec |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger un objet de processus vers cette applet de commande.
Sorties
None
Cette applet de commande ne génère aucune 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 la sortie de l’arborescence de processus (le processus et tous ses descendants) avant de retourner le contrôle.