Powershell'Start-Job`与'Start-Process'

时间:2013-07-30 20:51:40

标签: .net powershell

我对PowerShell中Start-JobStart-Process之间的区别感到有些困惑。我知道Start-Job将在后台运行,但我想知道Start-JobStart-Process的运行方式是否有所不同,以及是否有其他含义使用一个而不是另一个。什么时候应该使用一个而不是另一个?是否有优势?

1 个答案:

答案 0 :(得分:17)

Start-Job 启动后台作业,并使用cmdlet Get-Job 创建用于监视,查询和与作业交互的作业对象,< strong>接收作业,等待作业停止作业删除作业。在使用 Receive-Job 查询作业对象之前,您将看不到任何交互式窗口或控制台输出。这是&#34;背景工作&#34;意味着 - 它运行,但不与登录会话交互。但是,如果有任何输出,则由作业对象收集,您可以使用接收作业检索它。您通常可以通过检查作业对象的 HasMoreData 属性来判断是否要接收数据,但要小心,PowerShell 2中的错误 - 请记住这一点吗? "HasMoreData" is true even after Receive-Job

启动流程启动以交互方式运行的流程。