Partager via


Wait-Process

Attend que les processus soient arrêtés avant d’accepter davantage d’entrée.

Syntaxe

Name (Par défaut)

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

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 Get-Process obtient l’ID de processus du du bloc-notes et le stocke dans la variable $nid. Stop-Process arrête le processus avec l’ID stocké dans $nid. Wait-Process attend que le processus de du bloc-notes soit arrêté.

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 , 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 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 attend 30 secondes pour que les processus Outlook et Winword s’arrêtent. Si les deux processus ne sont pas arrêtés, l’applet de commande affiche une erreur sans fin et l’invite de commandes.

Wait-Process -Name outlook, winword -Timeout 30

Paramètres

-Any

Lorsque plusieurs processus sont passés dans Wait-Process, l’applet de commande attend que tous les processus se terminent avant de retourner. Avec ce paramètre, l’applet de commande retourne quand l’un des processus quitte. Les processus restants continuent d’être exécutés.

Ce paramètre a été ajouté dans PowerShell 7.4.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-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.

Propriétés du paramètre

Type:

Int32[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Identifiant de processus (PID), ProcessId

Jeux de paramètres

Id
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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.

Propriétés du paramètre

Type:

Process[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

InputObject
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:ProcessName

Jeux de paramètres

Name
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-PassThru

Par défaut, cette applet de commande ne génère rien. Avec ce paramètre, l’applet de commande retourne des objets représentant les processus qui ont été attendus.

Ce paramètre a été ajouté dans PowerShell 7.4.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:TimeoutSec

Jeux de paramètres

(All)
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

Process

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

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

Process

L’applet de commande retourne des objets de processus lorsque vous utilisez le paramètre passThru.

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.