以下は、WSLを使用してWindows内部で実行されているLinuxシステムをシャットダウンするさまざまな方法です。
WSLを使ってWindowsの中でLinuxを動かしていますか?WSLで動作しているLinuxディストリビューションの電源を切る方法を知りたいですか?
sudo shutdown now
wslコマンドを使ってLinuxシステムをシャットダウンすることもできます。これは、WSLで複数のディストリビューションを実行している場合に最適な方法です。
WSLでWindowsターミナルを使用したLinuxシステムのシャットダウン
このアプローチでは、通常の shutdown コマンドはWSL Linuxシステムでは動作しないと仮定します。
まず、Windowsでターミナルを開きます。ここでは、WSL 2にUbuntuをインストールしたWindows 11を使っています。
wslコマンドは標準的なWindowsターミナルで使用できます。このコマンドは、実行中のLinuxディストリビューションでもアクセスできます。ここでは、コマンド名を wsl.exe とします。
ここで、インストールされたディストリビューションとそのステータスをリストアップする必要があります。これを行うには
wsl --list --verbosewsl -l -v
ここで、私がWSL Ubuntuをインストールし、現在実行中であることがわかります。
実行中のすべてのLinuxディストリビューションをシャットダウン
実行中の WSL インスタンスを一旦停止したい場合があります。
PowershellまたはWindowsターミナルで、以下のコマンドを使用します:
wsl --shutdown
これですべてのセッションが終了します。
さらに、WSL Linuxディストリビューションのターミナルでも、同じ機能を実行できます。ディストリビューションでは、wsl の代わりに wsl.exe を使用します。
wsl.exe --shutdown
このコマンドを実行すると、実行中のすべての WSL ディストリビューションが終了し、WSL 2 ライトウェイト仮想マシンも終了します。したがって、WSL 2 VM環境を再起動する場合に便利です。
特定のLinuxディストリビューションの終了
特定の WSL ディストリビューションを終了するには、別の Windows ターミナルを開き、それを実行します:
wsl --terminate <ディストリビューション名>
ここで、ディストリビューション名とは、wsl -l -vコマンドでインストールされているすべてのWSLディストリビューションを一覧表示したときの名前です。
wsl --terminate Ubuntu
実行後、指定したLinuxディストリビューションは終了します。
他のディストリビューションを使用している場合は、次のコマンドを使用して、システムにインストールされているすべてのWSLディストリビューションを一覧表示します:
wsl.exe -l -v
次に、以下のコマンドを使用して、目的のディストリビューションを終了します:
wsl.exe --terminate <ディストリビューション名>
まとめ
実行中のLinuxアプリケーションを閉じるだけの人もいますが、それはあまりエレガントではないと思います。
また、Linuxターミナルと同じように
logoutディストリビューションをシャットダウンします。- exitコマンドは、Linuxディストリビューションを実行しているターミナルを終了するために使用します。
- または、
CTRL+Dexitコマンドと同じ動作を行います。
しかし、Linux システムをシャットダウンする WSL メソッドには、複数の Linux システムに対してシャットダウンできるという利点があります。
お役に立てれば幸いです。




