我有这个正在执行但不返回输出的脚本。
function code-Build-RepoWeb
{
$job = Start-Job { code-Build-Component RepoWeb; Start-Sleep -seconds 5 }
Register-ObjectEvent $job -EventName StateChanged `
-SourceIdentifier JobStateChanged `
-Action {$jobInfo = Receive-Job -Keep $Sender; Write-Host $jobInfo }
}
Run Code Online (Sandbox Code Playgroud)
我不是 Powershell 专家,在提出问题之前阅读了一些文档。
谢谢
无需注册参加活动,具体方法如下:
Start-Job { ... } | Wait-Job | Receive-Job -Keep
Run Code Online (Sandbox Code Playgroud)
如果您需要非阻塞命令。这将创建一个全局变量来保存作业的结果:
$job = Start-Job { Start-Sleep -Seconds 5; 1..5 }
$null = Register-ObjectEvent $job -EventName StateChanged -SourceIdentifier JobEnd -Action {
if($sender.State -eq 'Completed')
{
$global:jobInfo = Receive-Job $job
}
}
$jobInfo
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5059 次 |
| 最近记录: |