サービスの起動・停止は Net コマンド?Sc コマンド?
Windows コマンドには、サービスの起動・停止ができるコマンドが大きく2つある。Net
と Sc
だ。
Net Start (サービス名)
Net Stop (サービス名)
Sc Start (サービス名)
Sc Stop (サービス名)
Rem サービスの動作状況を確認する
Sc Query (サービス名)
どちらも、単体で叩いた時の動作に、特段変わりない。しかし、どうやら Net
コマンドは同期的に動き、Sc
コマンドは非同期で動くようなのだ。
例えばバッチ処理で複数のサービスを順番に起動・停止させるようなことをするとしたら、同期的に動かしたいワケで、そういう場合は Net
コマンドを使う方が良いだろう。
- 参考 : scコマンドは同期?非同期?
-
サービス制御は Service Control Manager が代理で実行するので、sc stopは「終わらせて」と言ったきりで完全には終わりを待たない可能性は高いですね。
-
- 参考 : Windows: net と sc どちらでサービスをコントロールするか – cefa::blog