HOME > Job系コマンドレット > Wait-Job
Wait-Job
Wait-Jobは、ジョブの停止を待機するコマンドです。
エイリアスwjb
解説
指定されたPowerShellバックグラウンドジョブが完了するまで待機します。
非同期で実行されているジョブの完了を同期的に待つために使用します。
構文
- (構文)
- Wait-Job [-Id] <int[]> [<CommonParameters>] Wait-Job [-Job] <Job[]> [<CommonParameters>] Wait-Job [-Name] <string[]> [<CommonParameters>] Wait-Job [-InstanceId] <guid[]> [<CommonParameters>] Wait-Job [-State] <状態> [<CommonParameters>] Wait-Job [-Filter] <hashtable> [<CommonParameters>]
パラメータ | 説明 |
---|---|
-Job オブジェクト | ジョブオブジェクトを直接指定して待機する |
-Any | 指定したジョブのうちいずれか1つが完了するまで待機する (例)Wait-Job -Id 1, 2, 5 -Any |
-Timeout 秒数 | 各ジョブの最大待機時間を秒単位で指定する (※既定値は-1で、ジョブが完了するまで待機) (例)Wait-Job -Timeout 120 |
-Force | 強制的にジョブを待機する |
-Name ジョブ名 | ジョブ名を指定して待機する ※ワイルドカード文字も使用可 (例)Wait-Job -Name "TestJob" |
-InstanceId ID | ジョブのインスタンスID(GUID)を指定して待機する |
-Id ジョブID | 待機するジョブのIDを指定する ※複数のIDをコンマ区切りで指定可 (例)Wait-Job -Id 1, 3, 5 |
-State ステータス | 特定の状態のジョブを待機する (Running, Completed, Failed, Stopped等) (例)Wait-Job -State Running |
-Filter | 条件を指定して待機する |
共通的なパラメータは「共通パラメータ」をご覧ください。
サンプル
ジョブが完了するまで待機する
$job = Start-Job -ScriptBlock { Get-Process }
Wait-Job -Job $job
ジョブID=1のジョブを待機する
Wait-Job -Id 1
ジョブを10秒待機する
Wait-Job -Job $job -Timeout 10
特定の状態のジョブを待機する
Wait-Job -State Completed
コマンドのヘルプを表示する
Get-Help Wait-Job
備考
- 無期限に待機するとスクリプトが停止してしまう可能性があるため、
-Timeoutパラメータを使用して待機時間を設定することをお勧めします。 - 完了したジョブを自動的に削除しないため、ジョブが完了した後はRemove-Jobで削除してください。
関連項目
- Job系コマンドレット
- Get-Job:ジョブの情報を取得する
- Start-Job:ジョブを開始する
- Stop-Job:ジョブを終了する
- Wait-Job:ジョブの停止を待機する
- Receive-Job:ジョブの結果を取得する
- Remove-Job:ジョブを削除する
- Debug-Job:ジョブをデバッグする