WSL を再起動するには

Windows10 の Windows Subsystem for Linux(WSL) で、再起動相当のことをするには、コンソールウィンドウを閉じるだけでは出来ません。コンソールを閉じても、バックグラウンドタスクが動作したり(できたり)します。
管理者権限で、LxssManagerサービスを再起動すれば、Windows再起動無しに、WSLを再起動できます。

LxssManager の再起動は次のようにします。


net stop LxssManager
net start LxssManager


次のようなバッチファイルを作成して実行すれば、WSL を再起動します。
必要に応じて、管理者権限を得る為に「ユーザアカウント制御」ダイアログが表示されます。

wslreboot.bat

@echo off
cd /d %~dp0
for /f "tokens=3 delims=\ " %%i in ('whoami /groups^|find "Mandatory"') do set LEVEL=%%i
if NOT "%LEVEL%"=="High" (
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process %~f0 -Verb runas"
exit
)
net stop LxssManager
net start LxssManager



参考


Rebooting Ubuntu on Windows without rebooting Windows? - Super User

この記事へのコメント