Respostas:
Desligar tudo: Build 18917+
wsl --shutdown
Encerrar distribuição específica: Windows 1903+
wsl -t <DistroName>
# PowerShell (admin)
Restart-Service LxssManager
# CMD (admin)
net stop LxssManager
net start LxssManager
net
trabalhou em cmd (com admin). Acabei de testar que meu arquivo bat sc
não funcionava no Windows OS Build 1809.
Desde o Windows 10 versão 1803, fechar todas as janelas do terminal WSL não mata processos em segundo plano por padrão, a menos que o arquivo /var/run/reboot-required
esteja presente. Este arquivo será criado automaticamente pelo apt no Ubuntu quando uma atualização exigir uma reinicialização, mas se você deseja reiniciar manualmente o subsistema, poderá criar o arquivo você mesmo:
sudo touch /var/run/reboot-required
Não testei isso em outras distribuições disponíveis na Microsoft Store. Uma solução alternativa é matar todos os processos:
sudo killall -r '.*'
sudo
:sudo killall -r '.*'
sudo touch /var/run/reboot-required
. De fato, parece que a presença do arquivo faz com que o WSL elimine todos os processos em segundo plano e desligue o subsistema quando todas as janelas do terminal estiverem fechadas, para que você possa abusar também.
killall
funcionou perfeitamente para mim. Não precisava tocar reboot-required
.
Em um prompt administrativo do PowerShell: Restart-Service LxssManager
WARNING: Waiting for service 'LxssManager (LxssManager)' to stop...
Simplesmente sair do shell exit
e reabrir parece fazer o truque.
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 você se importaria de editar isso em sua resposta?
Basta abrir uma janela do cmd como administrador e executar esses comandos para reiniciá-la.
net stop LxssManager
net start LxssManager
timeout /t 3
comando (adicione 3 segundos).
Eu criei um *.bat
arquivo e, ao executá-lo, é reiniciado em 10 segundos. (Estou impressionado com a rapidez com que as coisas são recarregadas. E, por favor, informe se minha abordagem causará sérios problemas a longo prazo.)
Coloque as duas linhas a seguir em um WSL_reboot.bat
arquivo e execute-o sempre que precisar reiniciar o WSL no Windows 10.
net stop LxssManager
net start LxssManager
Nota da atualização : de acordo com minha recente "atualização" do sistema operacional Windows, o Build 1809 não gosta sc
mais do comando.
Nota lateral: é necessário reiniciar o "kernel" da WSL quando ele / ela formata uma unidade com letras no Windows Explorer. No entanto, ainda não resolvemos o subproduto, onde o ls
comando obterá o seguinte erro. Post relacionado a partir da WSL @ Github ; Post relacionado da pilha . Largarei um link se eu conseguir resolver o bug do subproduto.
ls: 'System Volume Information': Permission denied
...
d--x--x--x 1 llinfeng llinfeng 512 Jan 15 11:00 'System Volume Information'/
...
sc
vez de net
, como na resposta de @ samdd
net
não estava funcionando com o meu Windows 10 na época? sc
deve ter funcionado naquela época. Eu deveria ter especificado o número da compilação do Windows.
net
vez desc
, como na resposta de @ llinfeng