Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

PowerShell 2.0の新機能(3)
――バックグラウンドジョブ編

PowerShell 2.0のバックグラウンドジョブ

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/01/27 14:00

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

目次

はじめに

 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」となっている場合は、現在そのジョブがバックグラウンドで実行中であることを示します。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • HIRO(ヒロ)

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

バックナンバー

連載:PowerShell 2.0の新機能
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5