【问题标题】:Powershell Start-Job not behaving correctlyPowershell Start-Job 行为不正确
【发布时间】:2017-06-17 22:34:52
【问题描述】:

我有几个 PHP 脚本,它们执行 Powershell 脚本来获取我的服务器基础架构的性能计数器。由于我有多个脚本,我想在一个位置同时执行它们。

我创建了以下 Start-Job 脚本,当它在 ISE 中运行时,运行良好。

当我使用以下命令运行 ps1 脚本本身时,我会得到一个已启动作业的列表,但实际上什么也没发生。它只是没有做任何事情,但也给了我零错误。

那么,我错过了什么?

【问题讨论】:

  • PowerShell 会话终止时。它终止所有活动的后台作业。

标签: php powershell start-job


【解决方案1】:

根据 cmets,当调用 powershell 会话终止时,它会终止它启动的所有后台作业。

要在终止之前等待作业完成,请在脚本末尾添加 Get-Job | Wait-Job

【讨论】:

  • 哇,终于,经过一整天的调试,我的问题的原因 - +1。但是到底在哪里记录了当调用会话终止时后台作业被终止?我已经阅读了有关 Microsoft 的 Start-Job 的整个文档页面,但找不到任何相关信息。
  • 这种行为完全是脑残:如果我想等到它们完成,我为什么还要开始后台作业?这让我(就像 OP 一样)花了一天时间重构脚本以支持在后台运行,然后验证它是否有效,然后令人费解和调试,才发现这篇文章并意识到当我拿出 Wait- 时它不起作用我在调试期间使用的工作...
猜你喜欢
  • 2011-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
  • 2019-02-01
  • 2018-01-02
  • 2021-08-22
  • 1970-01-01
相关资源
最近更新 更多