Risposte:
Spegni tutto: Build 18917+
wsl --shutdown
Terminare la distribuzione specifica: Windows 1903+
wsl -t <DistroName>
# PowerShell (admin)
Restart-Service LxssManager
# CMD (admin)
net stop LxssManager
net start LxssManager
net
ha funzionato in cmd (con admin). Ho appena provato che il mio file bat con sc
non funzionava nel sistema operativo Windows Build 1809.
Dalla versione 1803 di Windows 10, la chiusura di tutte le finestre del terminale WSL non interromperà i processi in background per impostazione predefinita, a meno che il file non /var/run/reboot-required
sia presente. Questo file verrà creato automaticamente da apt su Ubuntu quando un aggiornamento richiede un riavvio, ma se si desidera riavviare manualmente il sottosistema, è possibile creare il file da soli:
sudo touch /var/run/reboot-required
Non l'ho provato su altre distribuzioni disponibili nel Microsoft Store. Una soluzione alternativa è uccidere tutti i processi da soli:
sudo killall -r '.*'
sudo
:sudo killall -r '.*'
sudo touch /var/run/reboot-required
. In effetti, la presenza del file fa sì che WSL uccida tutti i processi in background e chiuda il sottosistema quando tutte le finestre del terminale sono chiuse, quindi puoi abusarne anche.
killall
ha funzionato perfettamente per me. Non avevo bisogno di toccare reboot-required
.
A un prompt di PowerShell amministrativo: Restart-Service LxssManager
WARNING: Waiting for service 'LxssManager (LxssManager)' to stop...
Semplicemente uscire dalla shell exit
e riaprire sembra fare il trucco.
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
. @ Ti piacerebbe modificarlo nella tua risposta?
Basta aprire una finestra cmd come amministratore ed eseguire questi comandi per riavviarlo.
net stop LxssManager
net start LxssManager
timeout /t 3
comando (aggiungere 3 secondi).
Ho creato un *.bat
file e eseguendolo si riavvia entro 10 secondi. (Sono sorpreso dalla velocità con cui vengono ricaricate le cose. E, per favore, avvisa se il mio approccio causerà seri problemi a lungo termine.)
Inserisci le seguenti due righe in un WSL_reboot.bat
file ed eseguilo ogni volta che devi riavviare WSL su Windows 10.
net stop LxssManager
net start LxssManager
Nota di aggiornamento : per il mio recente "aggiornamento" del sistema operativo Windows, Build 1809 non piace sc
più il comando.
Nota a margine: è necessario riavviare il "kernel" WSL quando formatta un disco con lettere tramite Esplora risorse. Non ho risolto del tutto il sottoprodotto, tuttavia, in cui il ls
comando visualizzerà il seguente errore. Related-post-from-WSL @ Github ; Correlato-post-dallo-stack . Rilascerò un link se riesco a risolvere il bug del sottoprodotto.
ls: 'System Volume Information': Permission denied
...
d--x--x--x 1 llinfeng llinfeng 512 Jan 15 11:00 'System Volume Information'/
...
sc
invece di net
, come nella risposta di @ samdd
net
non funzionasse con il mio Windows 10? sc
deve aver funzionato allora. Avrei dovuto specificare il numero di build di Windows.
net
invece disc
, come nella risposta di @llinfeng