答え1
ディストリビューションを1つのコマンドで再起動することはできません。2つのコマンドでディストリビューションをシャットダウンして起動する必要があります。wsl.exe
の代わりにwsl
、WSL Bash と CMD の両方で動作します。
ディストリビューションのリストと現在の状態を表示します。
wsl.exe -l -v
すべてをシャットダウンします: Build 18917+
wsl.exe --shutdown
特定のディストリビューションを終了します。 Windows 1903+
wsl.exe -t <DistroName>
デフォルトのディストリビューションを起動します ( でマークされています*
)。
wsl.exe
特定のディストリビューションを起動します。
wsl.exe -d <DistroName>
旧バージョン
# PowerShell (admin)
Restart-Service LxssManager
# or CMD (admin)
net stop LxssManager
net start LxssManager
答え2
管理 PowerShell プロンプトで:Restart-Service LxssManager
答え3
Windows 10 バージョン 1803 以降では、ファイルが/var/run/reboot-required
存在しない限り、すべての WSL ターミナル ウィンドウを閉じても、バックグラウンド プロセスはデフォルトで終了しません。このファイルは、更新で再起動が必要な場合に Ubuntu 上の apt によって自動的に作成されますが、サブシステムを手動で再起動する場合は、自分でファイルを作成できます。
sudo touch /var/run/reboot-required
Microsoft Store で入手可能な他のディストリビューションではこれをテストしていません。別の解決策としては、すべてのプロセスを自分で強制終了することです。
sudo killall -r '.*'
答え4
以下は、コマンド
wslreboot
(または任意のカスタム コマンド) を使用して WSL2 内からシャットダウンできるようにします。
技術的にはは、wslshutdown
以下のコードの方が適切です。
エイリアスを作成:
sudo nano ~/.bash_aliases
行を追加:
alias wslreboot='history -a && cmd.exe /C wsl --shutdown'
history -a
シャットダウン前に bash コマンド履歴が保存されるようにします。
エイリアスを有効にする:
WSLを再起動する
cmd.exe /C wsl --shutdown
または入力
source .bash_aliases
使用
今入力できます
wslreboot
閉鎖すること
上記のバリエーションを使用して、次の行を含むバッチ ファイルを実行できると思います。
wsl --shutdown
wsl
適切な再起動のために。