スリープを妨げるプロセスの確認とMoUsoCoreWorkerの対処

Tips
2021年03月12日 10:00

概要

Windows 10のマシンで、なぜか指定した時間、操作をしていないのにも関わらずスリープにならないという問題にぶつかりました。

ここでは、スリープを妨げるプロセスの確認と、私が行った対処法について紹介します。

環境

  • Windows 10 20H2

状況とスリープの確認

最初に、私がWindows 10でスリープにならないという状況について説明します。

私の場合、ある時を境に手動でスリープをするのはうまくいくのですが、指定した時間、操作をしていない時にスリープを行うという処理がうまく行かないという事態に遭遇しました。

この問題を解決するために、スリープの設定を見直したり、ウイルス対策ソフトなどの関連のありそうなソフトの設定を確認したりしたのですが、問題は解決しませんでした。

スリープを妨げるプロセスの確認

いくつかの思いつく原因を元に、設定等を見直してみたのですが、スリープの問題を解決することはできませんでした。

そこで、色々と調べてみると、スリープを妨げるプロセスを調べるコマンドがあるということが分かりました。

このコマンドは、管理者権限でコマンドプロンプトやPowershellを起動して、そこで実行することで確認できます。

私の場合は、スタートボタンを右クリックしてPowershellを管理者権限で起動して次のコマンドを実行して確認しました。

powercfg -requests

このコマンドを実行した結果、次のような出力がありました。

実行: 
[PROCESS] \Device\HarddiskVolume3\Windows\System32\MoUsoCoreWorker.exe 
USO Worker

これは、MoUsoCoreWorker.exeがスリープを妨げているということを示しています。

MoUsoCoreWorkerについて調べてみると、WIndows Updateに関するプロセスということが分かりました。

つまり、単純にプロセスを終了させると、何らかの不具合が発生する可能性があるということです。

対処法

MoUsoCoreWorkerを単純に、タスクマネージャー等で終了させるのは、よくなさそうです。

そこで、MoUsoCoreWorkerについてさらに調べてみると、Windowsのサービスから、終了したり起動したりできるということが分かりました。

今回は、このサービスを起動するために、WindowsキーとRキーを同時に押して表示されるウィンドウに「services.msc」と入力して、サービスの管理をするウィンドウを開きました。

このウィンドウから、MoUsoCoreWorkerに関係する、「Orchestrator Service の更新」と「Windows Update」のサービスを再起動します。再起動は、サービスを右クリックすることで、できます。

再起動後に、もう一度Powershellでスリープを妨げるプロセスを確認すると、何も表示されなくなりました。

これで、今回のスリープの問題は解決しました。

しかし、この問題はこの記事の執筆時点で完全に解決しているわけではなく、気づくとまた同じような状態になっていることもあるということのようです。そのような場合は、また今回と同じように、サービスを再起動することで解決できます。

さいごに

MoUsoCoreWorkerが悪さをするというのは、比較的前のWindows Updateからということのようです。

同じような現象に遭遇している人の助けになれば幸いです。