none
サービスの強制停止 RRS feed

  • 質問

  • Windowsのサービスがハングアップした為、サービスで該当サービスで停止を選択したのですが、依存サービスの影響かもしれませんが結局停止出来ませんでした。

    依存サービスから終了させれば良いかとは思うのですが、依存サービスが停止出来ない場合でも強制的に停止出来るコマンドなど有ったりしますでしょうか?

    お分かりの方いましたらお教えください。

    よろしくお願いします。


    2019年5月14日 10:35

回答

  • チャブーンです。

    この件ですが、Ferenaさんの回答について、補足させていただきます。

    Stop-Service -forceコマンドで対応可能なのは、あくまで「依存するサービス」の存在で終了拒否されるようなケースだけです。Windows Serviceの動作は「Service Control Manager(SCM)」で制御されており、-Forceオプションの説明に"Forces the cmdlet to stop a service even if that service has dependent services."とあることから、実態はSCM経由で強制終了が発行されるだけ、と理解しています。

    それ以外の理由(サービス自体のハングアップやHigh Usage等)では、おそらくSCMで制御可能な範囲を超えてしまいますので、残念ですが、サービスをホストするプロセス自体を強制終了(kill)することになります。そのやり方については、MSMVPが書いてくれていますので、したの情報を参考にしてください。

    https://www.vwnet.jp/Windows/PowerShell/KillService.htm


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2019年5月15日 5:41

すべての返信

  • こんにちは

     

    先ず管理員権限でPowerShellを開き、他のサービスが依存していても強制的にサービスを停止するのであれば、

     

    Stop-Service-Nameサービス名-force

     

    実行してみてください

     

    下記のリンクで詳細情報を参考してください。

    https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/stop-service?view=powershell-6

     

    宜しくお願い致します。


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2019年5月15日 3:00
    モデレータ
  • チャブーンです。

    この件ですが、Ferenaさんの回答について、補足させていただきます。

    Stop-Service -forceコマンドで対応可能なのは、あくまで「依存するサービス」の存在で終了拒否されるようなケースだけです。Windows Serviceの動作は「Service Control Manager(SCM)」で制御されており、-Forceオプションの説明に"Forces the cmdlet to stop a service even if that service has dependent services."とあることから、実態はSCM経由で強制終了が発行されるだけ、と理解しています。

    それ以外の理由(サービス自体のハングアップやHigh Usage等)では、おそらくSCMで制御可能な範囲を超えてしまいますので、残念ですが、サービスをホストするプロセス自体を強制終了(kill)することになります。そのやり方については、MSMVPが書いてくれていますので、したの情報を参考にしてください。

    https://www.vwnet.jp/Windows/PowerShell/KillService.htm


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2019年5月15日 5:41
  • > それ以外の理由(サービス自体のハングアップやHigh Usage等)では、
    > おそらくSCMで制御可能な範囲を超えてしまいますので、
    > 残念ですが、サービスをホストするプロセス自体を強制終了(kill)することになります。

    該当サービスが、svchost プロセスのようなホスト プロセス配下で動作している場合、ホスト プロセスを共有するサービスはすべて強制終了させらるので、その方法はとても危険だと思うのですが。。。

    追記
    Ferena さんはその可能性を考慮して、あえてプロセス強制終了の方法を提示しなかったのでは?

    • 編集済み お馬鹿 2019年5月15日 7:35 追記
    2019年5月15日 5:53
  • はい、何も考えずに kill するのは一般論としては非常に危険ですね。質問では停止できないサービスがどのようなものか書かれていないので、質問者さんの実際の環境で危険なのかどうかは判断ができないので、そこは質問者さんが検討するべきことになるでしょう。

    判断が付かない場合は、計画を立ててサーバーを再起動する方が安全でしょう。


    Hebikuzure aka Murachi Akira

    2019年5月15日 7:27
  • 皆様方

    ご回答頂き有難うございます。

    情報を参考に試させて頂こうと思います。

    また今回質問させて頂いたサービスは「Network Connection Broker」になります。

    よろしくお願い致します。
    2019年5月16日 0:42
  • そもそも、NcbService (Network Connection Broker) がハングアップしていることを、どうやって確認したのでしょうか?
    2019年5月16日 5:10
  • お馬鹿様

    VDIを利用しているのですが
    サーバマネージャーのイベントにTerminalService-SessionBrokerのエラーが頻発し
    RemoteAppから接続出来なくなりました。

    2019年5月17日 0:49
  • 私の頭では、「TerminalService-SessionBrokerのエラー」と「NcbService のハング」が結び付かないのですが。。。。
    2019年5月17日 1:32