「net start service」および「sc start」。違いはなんですか?


70

サービスは、コマンドプロンプトシェルの2つのコマンドを使用して停止および開始できます。

  1. ネットスタートサービス「一部のサービス」
  2. sc start「何らかのサービス」

これらのコマンドの違いは何ですか?

回答:


81

Windows NTでは、両方のコマンドが同じService Managerにアクセスします。違いは主にユーザーに見える部分にあります。

  • net 実際には、MS-DOSおよびOS / 2の時代からです。

    scWindows NTでのみ表示されます(どのバージョンかわからない)

  • net サービスの開始、停止、一時停止のみが可能です。

    sc より高度な制御があり、状態のクエリ、サービスの作成と削除、構成とセキュリティの変更が可能です。 sc config beep start= demand

  • net ローカルでのみ動作します。

    sc ネットワーク経由で使用できます: sc \\snow start rpcapd

  • net 表示名を受け入れます: net start "Windows Firewall"

    sc 常にサービス名が必要です: sc start SharedAccess


82

Grawityの答えは確かに役立ちますが、http: //cbfive.com/command-line-service-management-net-v-sc/で詳しく説明されているこれらのコマンドの根本的な違いを見つけました。特に、このページでは、これら2つのコマンドのタイミングが異なることに注意してください。「net」は同期で、「sc」は非同期です。

SCはコントロールをサービスに送信し、コマンドプロンプトに戻ります。 通常、これによりSC STARTはSTART_PENDINGの状態でサービスを返します。 NET STARTは、コマンドプロンプトで制御を返す前に、サービスが完全に開始された状態になるのを待ちます。

...

[L] SC STARTと同様に、SC STOPはサービスが停止するのを待たず 、多くのサービス停止操作でSTOP_PENDINGを頻繁に返します。 一方、NET STOPは 、コマンドプロンプトに戻る前にサービスが停止するのを待ちます。

...

NETとSCは、成功条件と見なすものについて異なる考えを持っています。 SCが成功したかどうかを判断する質問は、「サービスに停止コントロールを正常に送信しましたか?」でした。サービスが停止したかどうかに関係なく、成功した場合は成功しました。NETは、「停止しようとしたサービスは正常に停止したことを返しましたか?」という質問をします。停止した場合、条件を満たしました。そうでなかった場合、理由が何であれ、NETは成功条件に失敗します。


1
興味深い詳細、これ。スクリプトの場合(%ERRORLEVEL%変数)に知っておくと便利です。ありがとう。
ソパラホデアリエレス14年

1
サービスディレクトリが完全に停止していないため、停止後にサービスディレクトリをクリーンアップしようとする断続的なスクリプトエラーが発生しているため、この回答は非常に役立ちます。
johntrepreneur 14

「sc config」を使用したいのですが、それも非同期ですか?タスクが実際に完了するまでバッチファイルを待つ方法はありますか?
ピーター14

3

その価値については、sc start / stopはnet start / stopよりも信頼性が高いことがわかりました。ネットの開始/停止により、サービスが開始/停止状態のままになることがありますが、sc開始/停止ではまだ発生していません。ネットスタート/ストップの症状は、サービスが殺された場合(taskkillを介して)、たとえばtaskkillの後にネットスタートでサービスを開始しようとすると、より頻繁に発生する傾向があります。


2

サービスのOnStart()ルーチンに時間がかかりすぎる場合は、サービスにNET START停止コマンドを送信し、次のエラーを返します。

ServiceNameサービスを開始しています........

ServiceNameサービスを開始できませんでした。

サービスはエラーを報告しませんでした。

NET HELPMSG 3534と入力すると、さらにヘルプが利用できます。

これは、サービスが正常に開始および停止されたにもかかわらず発生します!!

私もここでこの投稿を見つけました、それは面白いかもしれません: サービスを開始できませんでした

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.