powershell - 如何在工作结束之前从工作中获取数据?
问题描述
我正在做一个项目,我需要开始工作以执行并行流程。我Start-Job
用来启动它们,我可以在工作结束时使用Receive-Job
. 这里的问题是:这个过程是从目录复制文件,这个过程可能需要很长时间,所以我需要检查处理是否正常或堆积在某个地方,比如复制文件的百分比 (%)。
如何在作业结束之前检查变量值?
解决方案
你可以随时打电话Receive-Job
。这项工作不必为此完成。但是,接收到的输出会从作业中删除,因此如果以后需要它,您需要将其存储在变量中。
示范:
PS C:\> $job = Start-Job -ScriptBlock {1..10 | %{$_; Start-Sleep -Seconds 1}} PS C:\> Start-Sleep -Seconds 3 PS C:\> Receive-Job -Job $job 1 2 3 PS C:\> Start-Sleep -Seconds 3 PS C:\> Receive-Job -Job $job 4 5 6 PS C:\> $job.State 跑步
推荐阅读
- python - 如何枚举单词的组合?
- java - 如何使用 Mockito 测试 DAO?
- java - 如何动态改变线条的颜色?
- qt - 在 qt/qml 中加载网页的一部分
- python-3.x - 处理多个文件时在哪里导入依赖项
- java - 无法在 html 页面中加载 Css 文件
- c# - AWS S3 Presigned URL Get 返回 ListBucketResult
- java - 如何解决从 GCS 下载加密文件时出错的问题
- sql - 我想对所有 top1 记录数量求和?
- powershell - 通过 powershell 脚本更改 Conda 环境(用于 Gitlab-CI)