PowerShellコマンドレット虎の巻

Stop-Job

Stop-Jobは、ジョブを終了するコマンドです。

エイリアスspjb

解説

PowerShellで実行中のバックグラウンドジョブを停止します。
ジョブが実行中または保留中である場合に使用できます。

構文

(構文)
Stop-Job [-Id] <int[]> [<CommonParameters>] Stop-Job [-Job] <Job[]> [<CommonParameters>] Stop-Job [-Name] <string[]> [<CommonParameters>] Stop-Job [-InstanceId] <guid[]> [<CommonParameters>] Stop-Job [-State] <状態> [<CommonParameters>] Stop-Job [-Filter] <hashtable> [<CommonParameters>]
【主要パラメータ】
パラメータ説明
-Job オブジェクト停止するジョブオブジェクトを指定する
-PassThru通常は出力しない値を出力るようにする
-Name ジョブ名停止するジョブ名を指定する
※ワイルドカード文字も使用可
(例)Stop-Job -Name "TestJob"
-InstanceId ID停止するジョブのインスタンスID(GUID)を指定する
-Id ジョブID停止するジョブのIDを指定する
※複数のIDをコンマ区切りで指定可
(例)Stop-Job -Id 1, 3, 5
-State ステータス特定の状態のジョブを停止する
(Running, Completed, Failed, Blocked等)
(例)Stop-Job -State Blocked
-Filter特定の条件を満たすジョブを停止する
-WhatIf実行はせずに実行結果の確認のみ行う
-Confirm実行前に確認メッセージの表示を行う

共通的なパラメータは「共通パラメータ」をご覧ください。

サンプル

ジョブIDで停止する

$job = Start-Job -ScriptBlock { Start-Sleep -Seconds 60 } Stop-Job -Id $job.Id

ジョブ名で停止する

Stop-Job -Name "TestJob"

特定の状態のジョブを停止する

Stop-Job -State "Running"

強制的にジョブを停止する

Stop-Job -Id 3 -Force

コマンドのヘルプを表示する

Get-Help Stop-Job

備考

  • ジョブの停止はプログラム不整合を起こす可能性があるので慎重に実施ください。
  • Stop-Jobはジョブを停止するだけでジョブオブジェクトを削除しないため、停止後Remove-Jobで削除する必要があります。

関連項目