Windowsサービス

Windowsサービス (WINDOWS SERVICE) とは、Microsoft Windowsオペレーティングシステム (OS) で長時間動作し、ユーザーとのやりとり無しで特定機能を実行するものである。WindowsサービスはOSのブート時に起動するよう設定でき、Windows が動作中はずっとバックグラウンドで動作する。あるいは、手動で要求したときに動作するようにも設定できる。UNIXデーモンに概念的には似ている。Windowsタスクマネージャのプロセス一覧で、ユーザー名がSYSTEMLOCAL SERVICENETWORK SERVICEなどと表示されている場合が多いが、任意のユーザーを指定することもできる。また、SYSTEMというユーザー名のプロセスが全てWindowsサービスというわけでもない。

サービスの管理

[編集]

Windowsサービスをインストールすると、そのサービスとしての起動の設定は、コントロールパネル ⇒ 管理ツール ⇒ サービスと選択していき(あるいはマイコンピュータを右クリックして管理を選択後左メニューの中にサービスがある)、そのウィンドウで行う。そのウィンドウではWindowsサービスの一覧が表示され、サービス名、説明、動作状態、スタートアップの種類などが表示されている。この画面か、右クリックで個々のサービスのプロパティを表示することで、以下のことが可能である。

  • サービスの起動・停止・一時停止・再起動
  • サービスのパラメータ指定
  • スタートアップの種類の設定。「自動」、「手動」、「無効」がある。
    • 「自動」: システム起動時にサービスを起動する。
    • 「手動」: ユーザーが要求したときに起動するか、アプリケーションから呼び出されたときに起動する(サービスの種類によって可能な場合がある)。
    • 「無効」: 完全に起動できないようにする。
    • 「自動(遅延開始)」: Windows Vista で新たに導入されたスタートアップ。ブート後、少し間をおいて起動することで、負荷集中によるブート遅延を防ぐ。
  • ログオン時のアカウントの変更
  • エラー発生時の回復の設定
  • サービス一覧をCSVファイルまたはテキストファイルとしてエクスポートする。

Windows XP以降では、上記以外にMSConfig(システム構成ユーティリティ)でも設定が可能である。ただし、MSConfigによる設定は次回立ち上げ時に有効となる。Windows Vista以降では、Windowsタスクマネージャのサービスタブでもサービスの起動・停止が可能である。

Windowsサービスの開発

[編集]

Windows 側のインタフェースサービスコントロールマネージャと呼ばれ、サービスの起動/停止を管理する。そして、いくつかのAPI呼び出しでサービス名や属性がサービスコントロールマネージャ内に登録される。一般にWindowsサービスにはユーザインタフェースは存在しないが、ユーザインタフェースを持たせることは可能で、それを使う場合そのサービスのプロパティの「ログオン」タブ画面で「デスクトップとの対話をサービスに許可」をチェックしなければならない。

関連項目

[編集]

外部リンク

[編集]