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