PowerShell - получить идентификатор процесса вызываемого приложения
Мне нужно вызвать внешнее приложение (т.е. & Notepad) и затем получить идентификатор процесса вызываемого приложения.
Get-Process Notepad = вернет все процессы Notepad
Я хочу сделать что-то вроде:
$objApp = & 'c:\Notepad.exe'
WHILE (get-process -ID $objApp.id | select -property Responding) {
Start-Sleep -s 10
Echo "STILL WAITING"
}
Echo "Done!!"
2 ответа
Решение
Использование Start-Process
с -PassThru
аргумент как это:
$app = Start-Process notepad -passthru
Wait-Process $app.Id
Более кратко:
# Starts Notepad and returns the ID
(Start-Process Notepad -passthru).ID