0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

wsl --shutdown 効かないときの対処法

0
Last updated at Posted at 2026-04-14

はじめに

WSL は、Windows 上で Linux 環境を扱える便利な仕組みです。
開発用途では Linux 系のコマンドやツールをそのまま使えますし、VSCode と組み合わせると、Windows を使いながら Linux 環境で作業できるのが助かります。

私も普段から VSCode で WSL に接続して作業しているのですが、あるとき VSCode の Connect to WSL に失敗する ようになりました。
最初は VSCode 側の問題かと思ったのですが、切り分けていくと wsl --shutdown すら効かない状態になっていました。

今回は、そのときに実際に試したことをまとめます。


きっかけ

今回の不具合に気づいたきっかけは、VSCode で WSL に接続できなかったことです。

普段どおり WSL に接続しようとしたのですが、うまくつながらず、最初は VSCode 側の一時的な不調かと思っていました。
ただ、WSL 自体の状態を確認するために PowerShell で以下を実行してみると、これも反応がありませんでした。

wsl --shutdown

wsl --shutdown は通常すぐに終了する認識だったため、この時点で VSCode ではなく WSL 側の問題 だと考えました。


まず試したこと

最初は、WSL 関連のサービスを再起動できないか確認しました。

Get-Service LxssManager
Restart-Service LxssManager

ただ、私の環境では LxssManager が見つかりませんでした。

Get-Service : サービス名 'LxssManager' のサービスが見つかりません。

以前は LxssManager という名前を見かけた記憶があったのですが、環境や WSL の導入形態によっては、別のサービス名になっている場合があるようです。


WslService を確認

次に、WslService という名前で存在していないか確認しました。

Get-Service WslService
Get-Service vmcompute

こちらは存在していたため、再起動を試しました。

Restart-Service WslService
Restart-Service vmcompute

ただ、これも正常に動作しませんでした。
WslService を停止できず、再起動に失敗しました。

表示された内容は以下の通りです。

Restart-Service : 次のエラーのため、サービス 'WSL Service (WslService)' を停止できません

この時点で、以下のことが分かりました。

  • VSCode の Connect to WSL が失敗する
  • wsl --shutdown も効かない
  • WslService 自体は存在する
  • ただし停止できない

サービスが存在するのに停止できない 場合、Restart-Service だけでは復旧できないことがあります。


最終的に効いた対処

サービスの再起動で止められなかったため、wslservice.exe のプロセスを強制終了してみました。

taskkill /IM wslservice.exe /F

これは成功しました。

成功: プロセス "wslservice.exe" (PID xxxx) は強制終了されました。

その後、WSL の状態確認を行うと、今度は正常に応答しました。

wsl --status

結果は以下のように返ってきました。

既定のディストリビューション: Ubuntu
既定のバージョン: 2

少なくとも私のケースでは、wslservice.exe がハングしており、その影響で wsl --shutdown や VSCode からの接続にも支障が出ていた ようでした。

wsl --shutdown が効かないからといって、すぐに再インストールに進まなくてもよい場合があります。
まずは WSL サービス自体が固まっていないか を疑うと切り分けしやすいです。


今回やったことの流れ

今回の流れを順番にまとめると、以下の通りです。

1. VSCode の Connect to WSL に失敗した

最初の異変はここでした。

2. wsl --shutdown を試したが反応しなかった

VSCode ではなく、WSL 側の問題だと判断しました。

3. LxssManager を確認した

私の環境では存在しませんでした。

4. WslService を確認して再起動を試した

サービスは存在していましたが、停止できませんでした。

5. wslservice.exe を強制終了した

これで改善しました。

6. wsl --status で確認した

再び応答が返るようになりました。


先に結論だけ見たい人向け

今回のケースでは、最終的にこれで復旧しました。

taskkill /IM wslservice.exe /F
wsl --status

おわりに

今回は、最初は VSCode 側の問題かと思っていましたが、実際には WSL 側が固まっていた、という流れでした。

wsl --shutdown が効かないとかなり焦りますが、今回のように WSL サービスがハングしているだけ であれば、wslservice.exe を強制終了することで復旧することもあります。

もし同じように

  • VSCode の Connect to WSL に失敗する
  • wsl --shutdown も返ってこない
  • WslService の再起動もうまくいかない

という状況であれば、再インストールを検討する前に一度以下を試す価値はあると思います。

taskkill /IM wslservice.exe /F
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?