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
netha funzionato in cmd (con admin). Ho appena provato che il mio file bat con scnon 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-requiredsia 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.
killallha 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 exite 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 3comando (aggiungere 3 secondi).
Ho creato un *.batfile 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.batfile 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 scpiù 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 lscomando 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'/
...
scinvece di net, come nella risposta di @ samdd
netnon funzionasse con il mio Windows 10? scdeve aver funzionato allora. Avrei dovuto specificare il numero di build di Windows.
netinvece disc, come nella risposta di @llinfeng