Ist es möglich, das Ubuntu-Subsystem neu zu starten, ohne mein System neu zu starten?
Ich habe versucht, den shutdown
Befehl nach der Installation einiger Updates zu verwenden, aber dies scheint hier keine Option zu sein.
Ist es möglich, das Ubuntu-Subsystem neu zu starten, ohne mein System neu zu starten?
Ich habe versucht, den shutdown
Befehl nach der Installation einiger Updates zu verwenden, aber dies scheint hier keine Option zu sein.
Alles herunterfahren: Build 18917+
wsl --shutdown
Bestimmte Distribution beenden: Windows 1903+
wsl -t <DistroName>
# PowerShell (admin)
Restart-Service LxssManager
# CMD (admin)
net stop LxssManager
net start LxssManager
net
anstattsc
, wie in @ llinfengs Antwortnet
arbeitete in cmd (mit admin).sc
Seit Windows 10, Version 1803, werden beim Schließen aller WSL-Terminalfenster standardmäßig keine Hintergrundprozesse abgebrochen, es sei denn, die Datei
/var/run/reboot-required
ist vorhanden. Diese Datei wird von apt unter Ubuntu automatisch erstellt, wenn ein Update einen Neustart erfordert. Wenn Sie das Subsystem jedoch manuell neu starten möchten, können Sie die Datei selbst erstellen:Ich habe dies nicht mit anderen im Microsoft Store verfügbaren Distributionen getestet. Eine alternative Lösung besteht darin, alle Prozesse selbst zu beenden:
quelle
sudo
:sudo killall -r '.*'
sudo touch /var/run/reboot-required
. Tatsächlich scheint das Vorhandensein der Datei dazu zu führen, dass WSL alle Hintergrundprozesse abbricht und das Subsystem herunterfährt, wenn alle Terminalfenster geschlossen sind, sodass Sie dies ebenfalls missbrauchen können.killall
funktionierte perfekt für mich. Musste nicht anfassenreboot-required
.Bei einer administrativen PowerShell-Eingabeaufforderung:
Restart-Service LxssManager
quelle
WARNING: Waiting for service 'LxssManager (LxssManager)' to stop...
Das Verlassen der Shell mit
exit
und das erneute Öffnen scheinen den Trick zu tun.quelle
Windows 10 Build 17046
. @ Louis Würde es Ihnen etwas ausmachen, dies in Ihre Antwort einzufügen?Öffnen Sie einfach ein Cmd-Fenster als Administrator und führen Sie diese Befehle aus, um es neu zu starten.
quelle
timeout /t 3
Befehl (3 Sekunden hinzufügen).Ich habe eine
*.bat
Datei erstellt, die ausgeführt wird und den Neustart innerhalb von 10 Sekunden durchführt. (Ich bin erstaunt, wie schnell die Dinge nachgeladen werden. Und bitte raten Sie mir, ob meine Vorgehensweise auf lange Sicht ernsthafte Probleme verursachen wird.)Fügen Sie die folgenden zwei Zeilen in eine
WSL_reboot.bat
Datei ein und führen Sie sie jedes Mal aus, wenn Sie die WSL unter Windows 10 neu starten müssen.Hinweis zum Update : Nach meinem letzten "Upgrade" des Windows-Betriebssystems gefällt der
sc
Befehl "Build 1809" nicht mehr.Randnotiz: Man muss den WSL "Kernel" neu starten, wenn man ein beschriftetes Laufwerk über den Windows Explorer formatiert. Das Nebenprodukt ist jedoch noch nicht vollständig gelöst, da der
ls
Befehl den folgenden Fehler ausgibt. Related-post-from-WSL @ Github ; Related-post-from-the-Stack . Lässt einen Link fallen, wenn es mir gelingt, den Nebenproduktfehler zu beheben.quelle
sc
anstattnet
, wie in @ samdd's answernet
Zeitpunkt nicht mit Windows 10 gearbeitet habe.sc
muss damals geklappt haben. Ich hätte die Windows Build Nummer angeben sollen.