Guy*_*mas 7 powershell powershell-2.0 powershell-3.0
我很好奇为什么Start-Job增加了两个.我担心的是我做错了什么使得新工作的ID跳了2.
Start-Job -ScriptBlock {Get-WinEvent -LogName system -MaxEvents 1000}
Run Code Online (Sandbox Code Playgroud)
结果如Get-Job所示
Id Name State HasMoreData Command
-- ---- ----- ----------- -------
2 Job2 Completed False Get-WinEvent -LogName system -MaxEvents 1000
4 Job4 Completed False Get-WinEvent -LogName system -MaxEvents 1000
6 Job6 Completed True Get-WinEvent -LogName system -MaxEvents 1000
Run Code Online (Sandbox Code Playgroud)
问题:您可以控制Start-Job Id增量,还是强制它们只是1?
@ 1.618给出了正确的答案,这里有一些更多的细节:
Start-Job -ScriptBlock {Get-Process}
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Job2 BackgroundJob Running True localhost Get-Process
Get-Job | fl *
State : Completed
HasMoreData : True
StatusMessage :
Location : localhost
Command : Get-Process
JobStateInfo : Completed
Finished : System.Threading.ManualResetEvent
InstanceId : 49a67ca4-840b-49ec-b293-efa9303e38bb
Id : 2
Name : Job2
ChildJobs : {Job3}
PSBeginTime : 03/03/2014 20:43:54
PSEndTime : 03/03/2014 20:44:00
PSJobTypeName : BackgroundJob
Output : {}
Error : {}
Progress : {}
Verbose : {}
Debug : {}
Warning : {}
get-job -IncludeChildJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Job2 BackgroundJob Completed True localhost Get-Process
3 Job3 Completed True localhost Get-Process
Run Code Online (Sandbox Code Playgroud)
这就是为什么当你开始工作时,powershell创造了两份工作?
通过Start-Job始终包含父作业和子作业创建的Windows PowerShell 作业.孩子的工作做了实际的工作.如果使用Invoke-Command及其–AsJob参数对多个远程计算机运行作业,则每个远程计算机将获得一个子作业.
管理作业时,您对父作业执行的任何操作都将自动应用于任何子作业.删除或停止父作业会对子作业执行相同的操作.获取父作业的结果意味着您将获得所有子作业的结果.
您可以直接访问子作业以检索其数据,简单的工作,例如,您可以通过父作业或子作业访问数据:
Receive-Job -Id 2 -Keep
Receive-Job -Id 3 -Keep
Run Code Online (Sandbox Code Playgroud)
当您有多个子作业时,通常更容易依次访问子作业:
$jobs = Get-Job -Name Job2 | select -ExpandProperty ChildJobs
foreach ($job in $jobs){Receive-Job -Job $job -Keep}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1015 次 |
| 最近记录: |