Respuestas:
Apaga todo: Build 18917+
wsl --shutdown
Terminar distribución específica: Windows 1903+
wsl -t <DistroName>
# PowerShell (admin)
Restart-Service LxssManager
# CMD (admin)
net stop LxssManager
net start LxssManager
net
trabajó en cmd (con admin). Acabo de probar que mi archivo bat sc
no funcionaba en Windows OS Build 1809.
Desde Windows 10 versión 1803, cerrar todas las ventanas de terminal WSL no matará los procesos en segundo plano de forma predeterminada, a menos que el archivo /var/run/reboot-required
esté presente. Este archivo será creado automáticamente por apt en Ubuntu cuando una actualización requiera un reinicio, pero si desea reiniciar manualmente el subsistema, puede crear el archivo usted mismo:
sudo touch /var/run/reboot-required
No he probado esto en otras distribuciones disponibles en Microsoft Store. Una solución alternativa es matar todos los procesos usted mismo:
sudo killall -r '.*'
sudo
:sudo killall -r '.*'
sudo touch /var/run/reboot-required
. De hecho, parece que la presencia del archivo hace que WSL elimine todos los procesos en segundo plano y apague el subsistema cuando todas las ventanas de terminal están cerradas, por lo que también puede abusar de eso.
killall
Funcionó perfectamente para mí. No necesito tocar reboot-required
.
En un indicador administrativo de PowerShell: Restart-Service LxssManager
WARNING: Waiting for service 'LxssManager (LxssManager)' to stop...
Simplemente salir del shell con exit
y reabrir parece hacer el truco.
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, ¿te importaría editar esto en tu respuesta?
Simplemente abra una ventana de cmd como administrador y ejecute estos comandos para reiniciarlo.
net stop LxssManager
net start LxssManager
timeout /t 3
comando (agregar 3 segundos).
He creado un *.bat
archivo, y al ejecutarlo se reinicia en 10 segundos. (Me sorprende lo rápido que se recargan las cosas. Y, por favor, avise si mi enfoque causará serios problemas a largo plazo).
Coloque las siguientes dos líneas en un WSL_reboot.bat
archivo y ejecútelo cada vez que necesite reiniciar el WSL en Windows 10.
net stop LxssManager
net start LxssManager
Nota de actualización : según mi reciente "actualización" del sistema operativo Windows, a Build 1809 ya no le gusta el sc
comando.
Nota al margen: es necesario reiniciar el "núcleo" WSL cuando formatea una unidad con letras a través del Explorador de Windows. Sin embargo, aún no he resuelto el subproducto, donde el ls
comando obtendrá el siguiente error. Related-post-from-WSL @ Github ; Related-post-from-the-Stack . Dejaré caer un enlace si logro resolver el error del subproducto
ls: 'System Volume Information': Permission denied
...
d--x--x--x 1 llinfeng llinfeng 512 Jan 15 11:00 'System Volume Information'/
...
sc
lugar de net
, como en la respuesta de @ samdd
net
no funcionaba con mi Windows 10 en ese momento? sc
debe haber funcionado en ese entonces. Debería haber especificado el número de compilación de Windows.
net
lugar desc
, como en la respuesta de @ llinfeng