Windowsサービスとは
Windowsサービスは、
Microsoft Windowsオペレーティングシステム(OS)上で、ユーザーの操作を必要とせず、長時間にわたり特定の機能を実行するプログラムです。これは、OSの起動時に自動的に開始するように設定することも、ユーザーが手動で開始することも可能です。バックグラウンドで動作し、ユーザーインターフェースを持たないのが一般的ですが、必要に応じてユーザーインターフェースを持たせることもできます。
UNIX系OSにおけるデーモンと概念的に類似しています。
Windowsサービスは、Windowsタスクマネージャーのプロセス一覧で確認できます。SYSTEM、LOCAL SERVICE、NETWORK SERVICEといったユーザー名で実行されていることが多いですが、特定のユーザーアカウントで実行することも可能です。ただし、SYSTEMユーザー名で実行されているすべてのプロセスがWindowsサービスであるわけではありません。
サービスの管理
Windowsサービスは、インストール後、以下の方法で管理できます。
1.
サービス管理ツール: コントロールパネルの「管理ツール」から「サービス」を選択するか、「マイコンピュータ」を右クリックして「管理」を選び、左メニューの「サービス」を選択することで、サービス管理ツールを開くことができます。
サービスの表示: このツールでは、インストールされているWindowsサービスの一覧が表示され、サービス名、説明、動作状態、スタートアップの種類などを確認できます。
サービスの設定: 各サービスを右クリックしてプロパティを表示することで、以下の設定が可能です。
起動・停止: サービスの起動、停止、一時停止、再起動を制御できます。
パラメータ指定: サービスが起動時に使用するパラメータを設定できます。
スタートアップの種類: サービスを自動、手動、または無効のいずれで起動するかを設定します。
自動: OS起動時にサービスが自動的に起動します。
手動: ユーザーが要求した時、またはアプリケーションから呼び出された時にサービスが起動します。サービスの種類によっては、このオプションが利用できない場合があります。
無効: サービスを起動させないようにします。
自動(遅延開始): Windows Vista以降で利用可能なオプションで、OS起動後少し遅れてサービスを起動させ、システム全体の起動負荷を軽減します。
ログオンアカウント: サービスを実行するアカウントを変更できます。
エラー回復: サービスがエラーを起こした場合の動作を設定できます。
エクスポート: サービス一覧をCSVファイルまたはテキストファイルとしてエクスポートできます。
2.
MSConfig(システム構成ユーティリティ): Windows XP以降では、MSConfigを使用してサービスの設定を行うことができます。ただし、MSConfigによる設定変更は、次回OS起動時に反映されます。
3.
タスクマネージャー: Windows Vista以降では、タスクマネージャーの「サービス」タブからも、サービスの起動や停止を制御できます。
Windowsサービスの開発
Windowsサービスは、サービスコントロールマネージャと呼ばれるインターフェースを通じて管理されます。サービスの起動や停止は、このマネージャを通じて行われます。開発者はAPIを使用してサービス名や属性をサービスコントロールマネージャに登録します。
一般的に、Windowsサービスにはユーザーインターフェースは存在しませんが、必要に応じてユーザーインターフェースを実装することも可能です。その場合は、サービスのプロパティの「ログオン」タブで「デスクトップとの対話をサービスに許可」をチェックする必要があります。
関連項目
デーモン (ソフトウェア))
外部リンク
Microsoft Developer Network - Services
*
Black Viper - custom services configuration website