Windowsサービスをバッチファイルで!
Updated:
今夜は、 Windowsサービスの開始・停止についてです。
通常、自動スタートにしていない(手動スタートの)Windowsのサービスを開始・停止させる場合、管理ツールのサービス画面を開いて該当のサービスを開始・停止させる思います。
普段はあまり使わず、使いたい時だけに開始させたいサービスとか多々あると思います。 普段不要なサービスを立ち上げておくと無意味にWindowsが重くなるので・・・
そこで僕はそんな場合、 いちいち管理ツールのサービス画面を開いて該当のサービスを選択して処理するのは面倒なのでバッチファイルを作っています。 (サービス開始用とサービス停止用) そのバッチファイルを実行させるだけでサービスの開始・停止ができるんで、よくこの手法を使っています。
参考までにこんな感じでやってます。 (例として、Apache2サービスの場合) ※サービスの開始・停止だけなので、特にログ出力はしていません。
- Start_Apache2.bat (ファイル名は任意)
@TITLE ■Start Apache2 Service ...
@NET START "Apache2.2"
@EXIT /B
- Stop_Apache2.bat (ファイル名は任意)
@TITLE ■Stop Apache2 Service ...
@NET STOP "Apache2.2"
@EXIT /B
■解説■
- TITLE XXXX
バッチファイルを起動したときに表示させるDOS窓のタイトルバーに表示させる文字の設定。 - NET START “XXXX” ( NET STOP “XXXX” も同様 )
スタートさせたいサービスを設定する。
サービス名は、管理ツールのサービス画面から該当のサービスを右クリックして、
プロパティ画面を開いて、そこの上部のサービス名のところのもの。
- EXIT /B
バッチファイルの終了。
オプションの「 /B 」はなくても大丈夫です。
※もしもこのバッチファイルが他のバッチファイルから呼ばれる場合、
「 /B 」があると、このバッチファイルが終了したら呼び出し元のバッチファイルに処理が戻れます。
「 /B 」がないと、このバッチファイルが終了した時に全部処理が終了してしまいます。 -
@マーク
DOS窓にコマンド自体の表示をさせない。
こんな感じです↓↓ - @マークあり
Apache2.2 サービスを開始します.
Apache2.2 サービスは正常に開始されました。
- @マークなし
D:\03_Bat>TITLE ■Start Apache2 Service ...
D:\03_Bat>NET START "Apache2.2"
Apache2.2 サービスを開始します.
Apache2.2 サービスは正常に開始されました。
ま、いろんなことをバッチファイルで処理させているんで、 また、違ったバッチ処理を紹介します。
ほな、また!
Comments