[Windows]コマンド上でサービスを操作する方法

LinuxなどのUnixライクなOSには”デーモン”と呼ばれる概念があります。
ユーザーが起動しなくてもOSの裏側で常に動作し、いろいろなことをしてくれる所謂”常駐アプリ”です。

一方、Windowsにも同様の仕組みがありますが、こちらは”サービス”と呼ばれます。
基本的に、内容はデーモンとさほど変わりません。

デーモンを操作する場合、例えばLinux系では

#サービスの停止(Systemd)
systemctl stop サービス名

#サービスの開始(Systemd)
systemctl start サービス名

#サービスの停止(sysvinit)
service サービス名 stop

#サービスの開始(sysvinit)
service サービス名 start

etc...

というように、コマンドで操作します。
また、サービスを自動開始させるかどうかは

#サービスの自動開始有効化/無効化(Systemd)
systemctl enable サービス名
systemctl disable サービス名

#サービスの自動開始有効化/無効化(sysvinit)
chkconfig サービス名 on
chkconfig サービス名 off

のようにします。

一方Windowsのサービスの場合は、Windows自体がGUIありきのOSなので、サービスの操作も、標準でGUIから行うことができます。


“サービス”アプリの画面

サービスの自動起動の有効/無効もGUI上から指定できます。

しかし、Windowsでも、処理のバッチ化などをするためにコマンドライン上から操作をしたい場面があります。
GUIの自動操作はなかなかやりづらいので、CUI上で操作できる方法を探したところ、見つけることができました。

バッチ で Windowsサービス を 起動、終了 する 方法 – galife

Windows上のコマンドラインででサービスを操作する場合は、

#サービスの停止
net stop サービス名

#サービスの開始
net start サービス名

これだけでいけます。
操作感はUnixライクなOSに結構似ていますね。

ちなみに、ちょっとわかりづらいですが、サービスの自動機能のon offは”sc”コマンドを使うことで操作できるようです。

sc.exe でサービスのスタートアップの種類を変更するAdd Star – 日々是笑心

WindowsのCUI環境はちょっと特殊で、難解感も感じることがありそうですが、覚えておくと非常に楽になるかもしれませんね。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG