麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PowerShell > 正文

PowerShell中Job相關命令及并行執行任務詳解

2020-05-30 20:21:52
字體:
來源:轉載
供稿:網友

前言

在 PowerShell 中可以輕松的執行后臺任務并且讓多個后臺任務并行執行。本文介紹 PowerShell 中 Job 相關的一些命令,并通過 demo 演示如何在后臺同時執行多個任務。下面話不多說了,來一起看看詳細的介紹吧。

PowerShell 中執行后臺任務的模式

下圖描述了在 PowerShell 中執行后臺任務的進程模型(此圖來自互聯網):

首先我們需要一個 PowerShell 進程執行與用戶交互的命令,比如執行 Start-Job 命令運行一個后臺任務。每一個這樣的后臺任務都會在一個新啟動的 PowerShell 進程中執行。所以,如果我們同時啟動三個后臺任務,那么一共有四個 PowerShell 進程在同時運行。

Job 相關的命令

Start-Job 命令會啟動一個運行在后臺的任務。注意,每通過 Start-Job 命令運行一個任務都會創建一個單獨的 PowerShell 進程。

Stop-Job 命令用來停止一個正在運行的后臺任務(由 Start-Job 啟動的任務)。

Get-Job 命令用來獲得當前 session 中的后臺任務對象。

Wait-Job 命令阻塞當前的執行流程,等待指定的后臺任務執行結束。

Receive-Job 命令用來獲得后臺執行任務的執行結果。比如在一個后臺任務結束時,可以通過 Receive-Job 來得到結果,并輸出任務執行時的 output。

Remove-Job 命令刪除當前 session 中的已經完成的任務。當一個任務運行結束后,它并不會被自動刪除,除非你調用 Remove-Job 命令進行刪除,或者是關閉這個 session。如果使用 Remove-Job 刪除一個正在運行的任務,命令會運行失敗。此時需要先使用 Stop-Job 命令先停止任務,然后再用 Remove-Job 進行刪除。

在后臺執行任務

如果只是啟動一個后臺執行的任務,不需要知道任務執行的結果,也不關心任務何時執行結束,那么僅僅使用 Start-Job 命令啟動任務的執行就可以了:

> Start-Job -ScriptBlock { sleep 5 }

啟動單個任務并等待任務結束

多數情況下我們是需要知道任務的結束時間的,此時可以通過 Wait-Job 命令阻塞執行流程,直到等待的任務結束:

> Start-Job -ScriptBlock { sleep 5; Write-Host "Hello world."; } | Wait-Job

注意:上面的內容是由 Wait-Job 命令輸出的,當時任務的狀態為 "Completed"。

更進一步,我們還想要獲得任務執行過程中的輸出。這時我們就需要用到 Receive-Job 命令。你可以在任務啟動后的任何時刻執行 Receive-Job 命令,但是如果想要得到完整的輸出,就需要在任務結束后調用,此時需要配合 Wait-Job 命令一起使用:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久国产精品影视 | 久久91亚洲精品久久91综合 | 成人性生活视频在线观看 | 激情视频免费看 | 日韩精品一区二区三区中文 | 免看黄大片aa | av国产片 | 久草在线综合 | 国产91免费看 | 蜜桃视频观看麻豆 | 国产精品久久久久久久久久久久久久久久 | 啪啪毛片 | 毛片免费看的 | 欧美成人精品一区二区男人小说 | 精品在线观看一区二区三区 | av播放在线| 国产午夜电影在线观看 | 激情大乳女做爰办公室韩国 | 欧美18—19sex性hd | 黄网站在线免费 | xxxxhdvideosex| 久久精品久 | 午夜精品老牛av一区二区三区 | 涩涩屋av| 污黄视频在线播放 | 毛片网站视频 | 色的综合 | 色网免费观看 | 高清国产午夜精品久久久久久 | 久久久久久久久久亚洲 | 黄色网战入口 | 午夜天堂在线 | 亚洲一区在线免费视频 | 中文字幕在线观看亚洲 | 成年免费大片黄在线观看岛国 | 午夜视频免费播放 | 黄色片网站在线免费观看 | 粉嫩粉嫩一区二区三区在线播放 | 毛片韩国| 91九色视频观看 | 精品一区二区三区毛片 |