Можно ли перезагрузить подсистему Ubuntu без перезапуска моей системы?
Я попытался использовать shutdown
команду после установки некоторых обновлений, но это, похоже, не вариант здесь.
Можно ли перезагрузить подсистему Ubuntu без перезапуска моей системы?
Я попытался использовать shutdown
команду после установки некоторых обновлений, но это, похоже, не вариант здесь.
Отключить все: Build 18917+
wsl --shutdown
Завершить конкретный дистрибутив: Windows 1903+
wsl -t <DistroName>
# PowerShell (admin)
Restart-Service LxssManager
# CMD (admin)
net stop LxssManager
net start LxssManager
net
вместоsc
, как в ответе @ llinfengnet
работал в cmd (с админом). Только что проверил, что мой bat-файл сsc
не работал в Windows OS Build 1809.Начиная с Windows 10 версии 1803, закрытие всех окон терминала WSL по умолчанию не уничтожит фоновые процессы, если файл
/var/run/reboot-required
не присутствует. Этот файл будет автоматически создан apt в Ubuntu, когда обновление требует перезагрузки, но если вы хотите перезагрузить подсистему вручную, вы можете создать файл самостоятельно:Я не проверял это в других дистрибутивах, доступных в Магазине Microsoft. Альтернативное решение - убить все процессы самостоятельно:
источник
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
Кажется, просто выход из оболочки и повторное открытиеисточник
Windows 10 Build 17046
. @ Луис, не могли бы вы отредактировать это в своем ответе?Просто откройте окно cmd от имени администратора и выполните эти команды, чтобы перезапустить его.
источник
timeout /t 3
команда (добавить 3 секунды).Я создал
*.bat
файл, и после его запуска происходит перезагрузка в течение 10 секунд. (Я поражен тем, как быстро все перезагружается. И, пожалуйста, посоветуйте, если мой подход вызовет серьезные проблемы в долгосрочной перспективе.)Поместите следующие две строки в
WSL_reboot.bat
файл и запускайте его каждый раз, когда вам нужно перезагрузить WSL в Windows 10.Примечание об обновлении : согласно моему недавнему «обновлению» ОС Windows, Build 1809 больше не любит
sc
команду.Примечание: необходимо перезагружать «ядро» WSL, когда он / она форматирует букву в проводнике Windows. Тем не менее, не удалось решить побочный продукт, где
ls
команда получит следующую ошибку. Related-post-from-WSL @ Github ; Связанные пост от стека . Удалит ссылку, если мне удастся решить проблему с побочным продуктом.источник
sc
вместоnet
, как в ответе @ samddnet
не работал с моим Windows 10 в то время?sc
Должно быть, работал тогда. Я должен был указать номер сборки Windows.