Windowsサービスとは一体何なのかを解説します。Windowsサービスの作成方法、削除方法や注意点、Windowsサービスの仕組みWindowsサービスを一覧で確認する方法、Windowsサービスの作成や設定方法も解説します。
「Windowsサービス」をご存知でしょうか。以前「NTサービス」等と呼ばれていましたがどちらも同じです。「Windowsサービス」は新しい名称です。または省略をして「サービス」と呼ぶ場合もあります。
「Windowsサービス」はいつ使用するかわからない方もいらっしゃるでしょう。「Windowsサービス」は「バックラウンド」で実行されるプログラムのことです。システム起動と同時に起動が出来ます。Webサーバーなどのサーバーは通常サービスで実装されます。
「サービス」にすると誰でも「Windows」にログオンをしなくてもプログラムが起動できます。これが注意点になります。使う人が「Windows」にログインした際ご自分のトークンをプライマリトークンとしてシエルであるエクスプローラのプロセスが起動されます。
トークンはセキュリティレベルを制御をする仕組みです。電卓やメモ帳などの他のプログラムを起動したときはトークンがそれぞれのプロセスに受け継がれるようになります。また、トークンによってはできないこと、できることが制御されます。
「Windowsサービス」の仕組みはサービスを制御する「サブシステム」の「Service Control Manager」(SCM)と通信するインターフェイスを持ちます。「SCM」との「インターフェイス」を持ちます。サービススナップインや「SCM」と通信が出来るプログラムが「開始」、「停止」等の操作が出来ます。
プログラムが開始をしたらプログラムから「ServiceMain」で「クライアント」からの要求を受け付け、応答を返せれば大丈夫です。
また、「ServiceMain」は「SCM」からの一時停止の要求等を受け付ける「制御ハンドラ」を登録します。「管理画面のサービス」、「スナップイン」等からの「命令」はこちらの制御ハンドラに送られます。これでサービス停止や開始が出来ます。
「Windowsサービス」を一覧で確認する方法は、「サービス管理ツール」のウインドウで調べれます。また、「サービス管理ツール」のウインドウは「コントロールパネル」から開きましょう。Windowsのバージョンによっては「コントロールパネル」の構成に多少の違いがあります。
「検索」を使ってみましょう。「コントロールパネル」から「コントロールパネルの検索」の窓で「サービス」を検索しましょう。
「サービス」が表示されましたら「サービス」を選択しましょう。表示できない場合は「管理ツール」を選択しましょう。「管理ツール」の一覧から「サービス」をダブルクリックすると「サービス管理ツール」のウインドウが表示されます。サービスの一覧が確認できます。
また、「Windows8」以降の場合「タスクマネージャー」を選択して「サービス」のタブを選択すると簡単な一覧が表示されます。タスクを右クリックすると表示される「メニュー」から「サービス管理ツールを開く」で「サービス管理ツール」を開けます。
「サービス管理ツール」のウインドウのサービスで右クリックをしますとサービスの管理メニューが表示されます。また、Windowsサービスの開始や停止したりプロパティを調べることも出来ます。こちらのサービス一覧表示も覚えておきましょう。
「サービス管理ツール」や「タスクマネージャ」を活用する事で現在Windowsサービスとしてプログラムの登録や稼働しているかを把握することも可能です。必要最小限に留めておくことが起動したときの処理も早くなります。注意したいことはWindowsサービスを削除や変更する事によって問題が発生する場合もあります。よく確認しましょう。
サービスのインストール方法は「Windowsサービス」を実行する手順としてサービスをインストールする必要があります。手順は「デザイン」ビューからバックラウンド領域を選択しましょう。ショートカットのメニューから「インストーラ―の追加」を選択しましょう。
Visual Studio の既定では、2 つのインストーラーを含む「ProjectInstaller」というコンポーネント クラスがプロジェクトに追加されます。
これらのインストーラーはサービス用とサービスの関連プロセス用です「Projectlnstaller」の「デザイン」ビューから「servicelnstaller1」または「ServiceInstaller1」を選択をしてからショットカットメニューの「プロパティ」を選択しましょう。
「プロパティ」のウインドウから ServiceName プロパティが MyNewService に設定されていることを確認しましょう。
サンプル サービスなどのテキストを Description プロパティに追加しましょう。ドロップダウンリストから「StartType プロパティ」を「Automatic」に設定しましょう。
「ProjectInstaller」の「デザイン」ビューから「serviceProcessInstaller1」は「ServiceProcessInstaller1」を選択してから、ショートカット メニューから「プロパティ」を選択します。これで完了です。
Windowsサービスの作成と設定方法はこちらからになります。「サービスの作成」、「サービス名の変更」、「機能の追加」、「カスタムイベントログ機能の追加」、「開始時の設定」、「停止時の設定」、「サービス保留の設定」、「インストーラーの追加」を解説します。
サービスの作成方法は「Visual Studio」から「ファイル」のメニューを開きましょう。「新規」から「プロジェクト」を選択しましょう。「新しいプロジェクト」のウインドウを開きましょう。「Windowsサービス」(.NET Framework)のプロジェクトテンプレートに移動して選択しましょう。
見つけ方は「インストール済み」から「Visual C#」または「Visual Basic」を展開をして「Windowdデスクトップ」を選択しましょう。右上の検索ボックスの「Windowsサービス」と入力してエンターキーを押しましょう。
「名前」に「MyNewService」と入力しましょう。OKを選択します。
ここで「デザイン」タブが表示されます。「プロジェクトテンプレート」は System.ServiceProcess.ServiceBase から継承をされます「Service1」という名前の「コンポーネントクラス」が含まれています。サービスを開始するコードなどの多数の基本的なサービス コードを含んでいます。サービスの作成が完了です。
1 / 3
続きを読む