Ubuntu unter Windows neu starten, ohne Windows neu zu starten?

76

Ist es möglich, das Ubuntu-Subsystem neu zu starten, ohne mein System neu zu starten?

Ich habe versucht, den shutdownBefehl nach der Installation einiger Updates zu verwenden, aber dies scheint hier keine Option zu sein.

Bash unter Windows.  Neustart erforderlich.  Herunterfahren: Das System kann nicht heruntergefahren werden

Louis
quelle

Antworten:

101

Alles herunterfahren: Build 18917+

wsl --shutdown

Bestimmte Distribution beenden: Windows 1903+

wsl -t <DistroName>

ältere Versionen

# PowerShell (admin)
Restart-Service LxssManager

# CMD (admin)
net stop LxssManager
net start LxssManager

Bildbeschreibung hier eingeben

samdd
quelle
warum netanstatt sc, wie in @ llinfengs Antwort
Gaia
netarbeitete in cmd (mit admin). sc
Habe
31

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-requiredist 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:

sudo touch /var/run/reboot-required

Ich habe dies nicht mit anderen im Microsoft Store verfügbaren Distributionen getestet. Eine alternative Lösung besteht darin, alle Prozesse selbst zu beenden:

sudo killall -r '.*'
nyuszika7h
quelle
Wissen Sie, was ich tun kann, um einen erforderlichen Neustart zu erzwingen? Ich möchte die Antwort testen, damit ich sie akzeptieren kann.
Louis
1
Das hat bei mir funktioniert. Ich musste sudo:sudo killall -r '.*'
F21
@ Louis Ich sehe, du hast es bereits akzeptiert, aber du kannst es tun 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.
Nyuszika7h
1
killallfunktionierte perfekt für mich. Musste nicht anfassen reboot-required.
Giovanni Bassi
23

Bei einer administrativen PowerShell-Eingabeaufforderung: Restart-Service LxssManager

Regexaurus
quelle
11
@ RajeshS Es mag kurz sein, aber es beantwortet die Frage.
Nyuszika7h
Ich mag das. Leicht zu merken, wird mit Tab gut genug automatisch vervollständigt. Amüsant zu sehen, wie gut Windows sein Servicemodell von Anfang an heruntergebracht hat.
Louis
2
Ich bekomme das immer wiederWARNING: Waiting for service 'LxssManager (LxssManager)' to stop...
Chris Snow
Das funktioniert einwandfrei. Starten Sie Ihre PowerShell zunächst mit Administratorrechten.
Erik Kalkoken
10

Das Verlassen der Shell mit exitund das erneute Öffnen scheinen den Trick zu tun.

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:~$
Louis
quelle
5
Das geht nicht mehr.
Dakkaron
@ Dakkaron - Es tat, als die Frage eingereicht wurde.
Ramhound
1
Deshalb habe ich "mehr" gesagt. Die Information, dass dieser Beitrag veraltet ist, ist wichtig, so dass andere Leute, die das Problem gerade haben, es nicht versuchen müssen, um herauszufinden, dass es nicht funktioniert. Ich bin nicht sicher, wie die Dinge hier gehandhabt werden, aber bei Stackoverflow soll eine Antwort nicht nur der Person helfen, die die Frage gestellt hat, sondern auch allen anderen, die nach Lösungen für das gleiche Problem suchen.
Dakkaron
Insbesondere funktioniert es seitdem nicht mehr Windows 10 Build 17046. @ Louis Würde es Ihnen etwas ausmachen, dies in Ihre Antwort einzufügen?
Dakkaron
Arbeitet für mich am Build 17134.
Ian Kemp
7

Öffnen Sie einfach ein Cmd-Fenster als Administrator und führen Sie diese Befehle aus, um es neu zu starten.

net stop LxssManager
net start LxssManager
Normarth
quelle
1
Fügen Sie einige Sekunden zwischen diesen beiden Befehlen hinzu. zB timeout /t 3Befehl (3 Sekunden hinzufügen).
Biswapriyo
2
Dies entspricht der Antwort von samdd vom August.
Fixer1234
Funktioniert nicht ... bleibt im Status "Anhalten". Wenn ich versuche, es erneut auszuführen, erhalte ich die Meldung "Der Dienst wird gestartet oder gestoppt. Bitte versuchen Sie es später erneut." ... wird nie beendet. Hängt immer, nachdem ich einen rsync-Befehl aus einem Batch wie "bash -c 'rsync ....'" ausgeführt habe. Das ist ein Albtraum.
Revolverheld
"Der LxssManager-Dienst wird beendet ............................................ ............................. Der LxssManager-Dienst konnte nicht beendet werden. " : - /
Alex Jansen vor
4

Ich habe eine *.batDatei 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.batDatei ein und führen Sie sie jedes Mal aus, wenn Sie die WSL unter Windows 10 neu starten müssen.

net stop LxssManager
net start LxssManager 

Hinweis zum Update : Nach meinem letzten "Upgrade" des Windows-Betriebssystems gefällt der scBefehl "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 lsBefehl 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.

ls: 'System Volume Information': Permission denied
...
d--x--x--x 1 llinfeng llinfeng       512 Jan 15 11:00 'System Volume Information'/
...
llinfeng
quelle
warum scanstatt net, wie in @ samdd's answer
Gaia
1
Ich vermute, dass ich zu diesem netZeitpunkt nicht mit Windows 10 gearbeitet habe. scmuss damals geklappt haben. Ich hätte die Windows Build Nummer angeben sollen.
Llinfeng