Получение идентификатора процесса вызванной команды PowerShell
Есть ли в любом случае использование ps
чтобы получить pid команды powershell, которая уже выполняется.
Например, скажем, я уже выполнил следующую команду.
ls | ? { <where condition> } | % { <some operations> }
Цель состоит в том, чтобы я открыл другое окно powershell и ввел что-то, что позволяет мне ждать завершения вышеупомянутого.
Есть идеи?
1 ответ
позвольте мне подождать, пока все закончится.
В этой команде вы используете ForEach-Object (%
).
ForEach-Object имеет аргумент по умолчанию -Process
который принимает блок сценария, который вы предоставляете, который выполняет обработку для каждого элемента в конвейере. Но этот командлет также предлагает -End {Scriptblock}
Аргумент, который будет выполнен после того, как все входные данные конвейера будут приняты и обработаны. Вы могли бы использовать это -End
заблокировать, чтобы отправить уведомление как-то. Возможно, написав файл или отправив электронное письмо или что-то еще, что вы хотели уведомить вас.
ls | ? { <where condition> } | % { <some operations> } -End { #alert me!}