回答:
すべてをシャットダウンします。 Build 18917+
wsl --shutdown
特定のディストリビューションを終了します。 Windows 1903+
wsl -t <DistroName>
# PowerShell (admin)
Restart-Service LxssManager
# CMD (admin)
net stop LxssManager
net start LxssManager
net
cmd(adminで)で働いていました。ちょうどと私のバットファイルがあることテストsc
のWindows OSのビルド1809で動作しませんでした
Windows 10バージョン1803以降、すべてのWSLターミナルウィンドウを閉じても、ファイル/var/run/reboot-required
が存在しない限り、デフォルトではバックグラウンドプロセスは強制終了されません。このファイルは、更新に再起動が必要な場合にUbuntuでaptによって自動的に作成されますが、サブシステムを手動で再起動する場合は、自分でファイルを作成できます。
sudo touch /var/run/reboot-required
Microsoft Storeで入手可能な他のディストリビューションでは、これをテストしていません。別の解決策は、すべてのプロセスを自分で強制終了することです。
sudo killall -r '.*'
sudo
:sudo killall -r '.*'
sudo touch /var/run/reboot-required
。実際、ファイルが存在すると、WSLはすべてのバックグラウンドプロセスを強制終了し、すべてのターミナルウィンドウが閉じられたときにサブシステムをシャットダウンするようです。
killall
私にとって完璧に働いた。触る必要はなかったreboot-required
。
管理用PowerShellプロンプトで: Restart-Service LxssManager
WARNING: Waiting for service 'LxssManager (LxssManager)' to stop...
単にシェルを終了しexit
て再度開くだけでうまくいくようです。
Louis@ATHENA:~$ bin/rcheck.sh
Reboot not necessary.
Louis@ATHENA:~$ bin/update.sh
[sudo] password for Louis:
The following packages will be upgraded:
libssl1.0.0 openssl
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libssl1.0.0 amd64 1.0.1f-1ubuntu2.21 [830 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main openssl amd64 1.0.1f-1ubuntu2.21 [489 kB]
Setting up libssl1.0.0:amd64 (1.0.1f-1ubuntu2.21) ...
Setting up openssl (1.0.1f-1ubuntu2.21) ...
Del libssl1.0.0 1.0.1f-1ubuntu2.20 [830 kB]
Del openssl 1.0.1f-1ubuntu2.20 [489 kB]
Louis@ATHENA:~$ bin/rcheck.sh
Reboot required.
Louis@ATHENA:~$ exec bash -l
Louis@ATHENA:~$ bin/rcheck.sh
Reboot required.
Louis@ATHENA:~$ exit
Louis@ATHENA:~$ bin/rcheck.sh
Reboot not necessary.
Louis@ATHENA:~$
Windows 10 Build 17046
。@Louisはこれをあなたの答えに編集してくれませんか?
管理者としてcmdウィンドウを開き、これらのコマンドを実行して再起動します。
net stop LxssManager
net start LxssManager
timeout /t 3
コマンド(3秒追加)。
*.bat
ファイルを作成し、実行すると10秒以内に再起動します。(物事がリロードされる速度に驚いています。そして、私のアプローチが長期的に深刻な問題を引き起こすかどうかアドバイスしてください。)
次の2行をWSL_reboot.bat
ファイルに入れ、Windows 10でWSLを再起動する必要があるたびに実行します。
net stop LxssManager
net start LxssManager
更新ノート:Windows OSの最近の「アップグレード」ごとに、Build 1809はsc
コマンドを好まなくなりました。
サイドノート:Windowsエクスプローラーでレタリングドライブをフォーマットする場合、WSL「カーネル」を再起動する必要があります。ただし、ls
コマンドが次のエラーを取得する場合は、副産物をまったく解決していません。Related-post-from-WSL @ Github ; スタックからの関連ポスト。副産物のバグを解決できた場合、リンクをドロップします。
ls: 'System Volume Information': Permission denied
...
d--x--x--x 1 llinfeng llinfeng 512 Jan 15 11:00 'System Volume Information'/
...
sc
代わりにnet
、@ samddの答えのように
net
一度に私のWindows 10で動作していませんでしたか?sc
当時働いていたに違いありません。Windowsビルド番号を指定する必要がありました。
net
ようにsc
、なぜではなく