34

Можно ли перезагрузить подсистему Ubuntu без перезапуска моей системы?

Я попытался использовать команду shutdown после установки некоторых обновлений, но здесь это не вариант.

Bash на Windows.Требуется перезагрузка. выключение: невозможно выключить систему

5 ответов5

46

Использование CMD (Администратор)

net stop LxssManager
net start LxssManager

Использование сервисов апплета

  1. WIN+R -> services.msc
  2. Найти LxssManager

  3. Щелкните правой кнопкой мыши -> Restart

19

Начиная с Windows 10 версии 1803, закрытие всех окон терминала WSL по умолчанию не уничтожит фоновые процессы, если не присутствует файл /var/run/reboot-required . Этот файл будет автоматически создан apt в Ubuntu, когда обновление требует перезагрузки, но если вы хотите перезагрузить подсистему вручную, вы можете создать файл самостоятельно:

sudo touch /var/run/reboot-required

Я не проверял это в других дистрибутивах, доступных в магазине Microsoft. Альтернативное решение - убить все процессы самостоятельно:

sudo killall -r '.*'
10

Кажется, просто выход из оболочки с 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:~$
6

Просто откройте окно cmd в качестве администратора и запустите эти команды, чтобы перезапустить его.

net stop LxssManager
net start LxssManager
2

Я создал файл *.bat , и после его запуска происходит перезагрузка в течение 10 секунд. (Я поражен тем, как быстро все перезагружается. И, пожалуйста, сообщите, если мой подход вызовет серьезные проблемы в долгосрочной перспективе.)

Поместите следующие две строки в файл WSL_reboot.bat и запускайте его каждый раз, когда вам нужно перезагрузить WSL в Windows 10.

net stop LxssManager
net start LxssManager 

Примечание об обновлении: согласно моему недавнему "обновлению" ОС Windows, Build 1809 больше не любит команду sc .

Примечание: необходимо перезагружать "ядро" WSL, когда он / она форматирует букву в проводнике Windows. Тем не менее, не удалось решить побочный продукт, где команда 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'/
...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .