Поделиться через


Wait-Process

Ожидает остановки процессов перед приемом дополнительных входных данных.

Синтаксис

Name (по умолчанию)

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

Описание

Этот командлет не работает в Linux или macOS.

Командлет Wait-Process ожидает остановки одного или нескольких запущенных процессов перед приемом входных данных. В консоли PowerShell этот командлет подавляет командную строку до тех пор, пока процессы не будут остановлены. Можно указать процесс по имени процесса или идентификатору процесса (PID) или передать объект процесса в Wait-Process.

Wait-Process работает только на процессах, выполняемых на локальном компьютере.

Примеры

Пример 1. Остановка процесса и ожидание

В этом примере останавливается процесс блокнота, а затем ожидает остановки процесса перед продолжением следующей команды.

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

Командлет Get-Process получает идентификатор процесса блокнота и сохраняет его в переменной $nid. Stop-Process останавливает процесс с идентификатором, хранящимся в $nid. Wait-Process ожидает завершения процесса блокнота.

Пример 2. Указание процесса

В этом примере показаны три различных метода указания процесса для Wait-Process. Первая команда получает процесс Блокнота и сохраняет его в переменной $p. Вторая команда использует параметр идентификатора , третья команда использует параметр Name, а четвертая команда использует параметр InputObject.

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

Эти команды имеют одинаковые результаты и могут использоваться взаимозаменяемо.

Пример 3. Ожидание процессов в течение указанного времени

В этом примере Wait-Process ожидает остановки Outlook и процессов Winword. Если оба процесса не остановлены, командлет отображает неисключаемую ошибку и командную строку.

Wait-Process -Name outlook, winword -Timeout 30

Параметры

-Any

При передаче нескольких процессов в Wait-Processкомандлет ожидает завершения всех процессов перед возвратом. С помощью этого параметра командлет возвращается при выходе из любого процесса. Оставшиеся процессы продолжают выполняться.

Этот параметр добавлен в PowerShell 7.4.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Id

Задает идентификаторы процессов процессов. Чтобы указать несколько идентификаторов, используйте запятые для разделения идентификаторов. Чтобы найти ИДЕНТИФИКАТОР процесса, введите Get-Process.

Свойства параметра

Тип:

Int32[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:ИД процесса (PID), ProcessId

Наборы параметров

Id
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-InputObject

Задает процессы путем отправки объектов процесса. Введите переменную, содержащую объекты процесса, или введите команду или выражение, которое получает объекты процесса, например командлет Get-Process.

Свойства параметра

Тип:

Process[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

InputObject
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Name

Задает имена процессов процессов. Чтобы указать несколько имен, используйте запятые для разделения имен. Подстановочные знаки не поддерживаются.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Имя процесса

Наборы параметров

Name
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-PassThru

По умолчанию этот командлет не выводит ничего. С помощью этого параметра командлет возвращает объекты, представляющие процессы, ожидающие.

Этот параметр добавлен в PowerShell 7.4.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Timeout

Указывает максимальное время в секундах, которое этот командлет ожидает остановки указанных процессов. По истечении этого интервала команда отображает неисключающую ошибку, которая выводит список процессов, которые по-прежнему выполняются, и завершает ожидание. По умолчанию время ожидания отсутствует.

Свойства параметра

Тип:Int32
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:TimeoutSec

Наборы параметров

(All)
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входные данные

Process

Объект процесса можно передать в этот командлет.

Выходные данные

None

По умолчанию этот командлет не возвращает выходные данные.

Process

Командлет возвращает объекты обработки при использовании параметра PassThru.

Примечания

  • Этот командлет использует метод WaitForExit класса System.Diagnostics.Process.

  • В отличие от Start-Process -Wait, Wait-Process ожидает только определенных процессов. Start-Process -Wait ожидает выхода дерева процесса (процесса и всех его потомков) перед возвратом элемента управления.