Windowsサービス

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

サービスの管理 
Windowsサービスをインストールすると、そのサービスとしての起動の設定は、コントロールパネル ⇒ 管理ツール ⇒ サービスと選択していき（あるいはマイコンピュータを右クリックして管理を選択後左メニューの中にサービスがある）、そのウィンドウで行う。そのウィンドウではWindowsサービスの一覧が表示され、サービス名、説明、動作状態、スタートアップの種類などが表示されている。この画面か、右クリックで個々のサービスのプロパティを表示することで、以下のことが可能である。
 サービスの起動・停止・一時停止・再起動
 サービスのパラメータ指定
 スタートアップの種類の設定。「自動」、「手動」、「無効」がある。
 「自動」: システム起動時にサービスを起動する。
 「手動」: ユーザーが要求したときに起動するか、アプリケーションから呼び出されたときに起動する（サービスの種類によって可能な場合がある）。
 「無効」: 完全に起動できないようにする。
 「自動（遅延開始）」: Windows Vista で新たに導入されたスタートアップ。ブート後、少し間をおいて起動することで、負荷集中によるブート遅延を防ぐ。
 ログオン時のアカウントの変更
 エラー発生時の回復の設定
 サービス一覧をCSVファイルまたはテキストファイルとしてエクスポートする。

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

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

関連項目 
 デーモン (ソフトウェア)

外部リンク 
Microsoft Developer Network - Services
Black Viper - custom services configuration website

Windowsのコンポーネント
サービス