2017年4月26日

【PowerShell】ジョブを停止する


実行中のジョブを停止するには、Stop-Jobを使用します。

$a = {
        for($i = 1; $i -le 10; $i++){
            Start-Sleep -s 1
        }
        Write-Host "ジョブAが完了しました。"
     }

#ジョブの開始
Start-Job -Name "JobA" $a

Write-Host "開始"
Get-Date -Format G

#5秒待機
Start-Sleep -s 5

#ジョブの停止
Stop-Job -Name "JobA"

Write-Host "停止"
Get-Date -Format G

Write-Host ""

#ジョブ取得
Get-Job -Name "JobA"

Remove-Job -Name "JobA"

実行結果
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command                  
--     ----            -------------   -----         -----------     --------             -------                  
21     JobA            BackgroundJob   Running       True            localhost            ...                      
開始
2017/04/26 22:34:20
停止
2017/04/26 22:34:25

21     JobA            BackgroundJob   Stopped       True            localhost            ...                      



PS C:\work> 
"JobA"は、10秒かかるジョブですが、ジョブが開始されてから5秒後に停止しています。



スポンサーリンク