Windowsサービス プログラム サービス動作


SDK HOME > Misc. > Windowsサービス

Windowsサービス・サービス動作

動作概要
Windowsサービスは、サービス制御マネージャからの開始・停止・一時停止・再開などの要求により動作します。Windowsサービスの状態としては、停止状態・実行状態・一時停止状態があります。
また、通常のデスクトップアプリケーションと異なり、Windowsサービスの実行可能ファイルは、開始前にインストールしておく必要があります。
基本的な処理だけをおこなうWindowsサービスであれば、開始と停止だけをサポートしていれば問題はありません。一時停止・再開については、処理の中断と再開が可能でなければ、サポートすべきではありません。例えば、通信をおこなうWindowsサービスが実行状態の時にサービス制御マネージャからの一時停止の要求に対して、Windowsサービスがどのように動作するかを考えてみてください。この場合、通信中のパケットやコネクションを破棄するか、一時停止の要求を遅らせるか、一時停止を受け付けた後はクライアントからの要求を受け付けないなどの様々な方法が考えられますが、それらに応じた例外処理などを組み込み・テストする必要があります

スタートアップ
Windowsサービスは、Windowsシステム起動時に自動的に開始するか、手動で開始するか、あるいは無効とするかの3種類が選択できます。スタートアップの種類は、コントロールパネルのサービスアプレットで確認・変更ができます。

依存関係
Windowsシステム起動時に、Windowsサービスは自動的に開始することができますが、Windowsサービスの起動順序は通常、Windowsシステム(OS)によって決定されます。Windowsシステムでは、他Windowsサービスの起動完了を待たずに、次々とWindowsサービスが起動されます。
複数のWindowsサービスを、ある一定の順序で起動したい場合は、Windowsサービスの依存関係を設定します。Windowsサービスの依存関係はレジストリで設定します。例として、Service1 -> Service2 の順にWindowsサービスを起動したい場合、Service2のレジストリに、依存関係を設定します。
ハイブHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Service2
キーDependOnServices
タイプREG_MULTI_SZ
Service1

先に起動させたいWindowsサービスが複数ある場合、サービス名を各行に1つずつ入力します。
依存関係は、コントロールパネルのサービスアプレットで、各Windowsサービスのプロパティを表示して、確認できます。


  Windowsサービスの開発方法


Misc.
Windows サービス
      概要
      標準サービス
      サービス制御
      サービス動作
      開発方法
 

IT資産管理ツール
まだ増え続けるPCをExcelで管理しますか?

サーバー監視ツール
あなたのサーバーは本当に動いていますか?


職種と働き方で選ぶ ステップアップ応援サイト 【anレギュラー】

求人検索サイト「Job-link!」
IT企業の求人情報満載!

SDK HOME > Misc. > Windowsサービス