HIRO [著] 2010/01/27 14:00

 PowerShell 1.0 では、バックグラウンドでのジョブ実行ができなかったため、1つのコマンドが完了するまで次のコマンドの実行をすることができませんでした。今回はPowerShell 2.0で新たに搭載されたバックグラウンドジョブに関するコマンドレットに焦点を当てて解説します。

1 2 3 4 5 →

はじめに

 PowerShell 1.0では、バックグラウンドでのジョブ実行ができなかったため、1つのコマンドが完了するまで次のコマンドの実行をすることができませんでした。PowerShell 2.0からは簡単にバックグラウンドでジョブを実行する機能が搭載されています。今回は、このバックグラウンドジョブに焦点を当てて解説します。

対象読者

  • PowerShellの基本的な操作ができる方。

 PowerShellについて学びたい方は、PowerShell入門の連載を参照ください。

必要条件

 バックグラウンドジョブを実行するにはPowerShellがリモート処理用に構成されている必要があります。リモート処理用に構成する方法については前回の記事で解説していますので、そちらを参照してください。

ローカルコンピューターでバックグラウンドジョブを実行する方法

 ローカルコンピューターでバックグラウンドジョブを実行するには、Start-Jobコマンドレットを使用します。このコマンドレットはPowerShell 2.0で新しく追加されたものです。

 Start-Jobコマンドレットの基本構文は次の通りです。

Start-Jobコマンドレットの基本構文
Start-Job -ScriptBlock {バックグラウンドで実行するコマンド}

 リスト1は、Get-ChildItemコマンドレットを「C:\Work」というフォルダに対して実行する例です。

リスト1
Start-Job -ScriptBlock {Get-ChildItem C:\Work}

 このコマンドを実行すると、すぐにプロンプトに戻り、図1のようにジョブの実行状況が表示されます。

図1 Start-Jobコマンドレットの実行
図1 Start-Jobコマンドレットの実行

 Idは実行したジョブに付けられるユニークな番号を示します。またStateはジョブの実行状況を表し、「Running」となっている場合は、現在そのジョブがバックグラウンドで実行中であることを示します。


1 2 3 4 5
→
INDEX
PowerShell 2.0の新機能(3) ――バックグラウンドジョブ編
Page1
はじめに
対象読者
必要条件
ローカルコンピューターでバックグラウンドジョブを実行する方法
実行したジョブの状態確認と実行結果の取得
ジョブの待機と停止
リモート処理でのバックグラウンドジョブ 
親ジョブと子ジョブ
まとめ
プロフィール
HIRO ヒロ

HIRO's.NETのHIROです。
とある半導体工場のSEです。
VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。
最近はBlog でPowerShellについて書いています。

2008/07/07にPowerShell from Japan!!というサイトを立ち上げました。PowerShellユーザーが集まってブログを書いています。よろしかったら来てください。

HIRO's.NET Blog
HIRO's.NET - VB.NET, C#, PowerShell Tips -
PowerShell from Japan!!


記事へのコメント・トラックバック機能は2011年6月に廃止させていただきました。記事に対する反響はTwitterやFacebook、ソーシャルブックマークサービスのコメントなどでぜひお寄せください。

スポンサーサイト