単一のサービスのステータスを表示するWindowsコマンドはありますか?
たとえば、「IIS管理サービス」が実行されているかどうかを知りたい。コマンドが実行されている場合、出力は「実行中」になります。
私は試した sc query type= service state= all | find "IIS Admin Service"
出力を表示しました:
"DISPLAY_NAME:IIS管理サービス"
私も試しましたnet start "IIS Admin Service" | find "Running"
表示:
要求されたサービスはすでに開始されています。
NET HELPMSG 2182と入力すると、さらにヘルプが表示されます。
しかし、それは私に次のような出力を与えません
「サービス名」=実行中/無効/停止
この形式で出力するコマンドはありますか?
表示名ではなくサービス名を使用する
sc query iisadmin
したがって、Powershellを使用できます。
Get-Service -name 'IIS Admin Service'
優れたCygwin
bashを使用する場合は、次のように簡単に記述できます。
sc query "Bonjour Service" |grep -qo RUNNING && echo "Bonjour is ok!" || echo "Apple Bonjour Service not running"
ここでの秘訣は、適切なgrep
を使用可能にすることです。これにより、この方法でコマンドの真/偽(成功)ステータスをキャッチできます。ここに -q
はサイレント、-o
は、完全一致を返すためのものであり、おそらく省略できます。そして、はい、あなたはあなたのPATHにあなたの「sc.exe」を置く必要があります。