Réponses:
Tout arrêter: Build 18917+
wsl --shutdown
Terminer la distribution spécifique: Windows 1903+
wsl -t <DistroName>
# PowerShell (admin)
Restart-Service LxssManager
# CMD (admin)
net stop LxssManager
net start LxssManager
net
travaillé en cmd (avec admin). Je viens de tester que mon fichier de batte sc
ne fonctionnait pas sous Windows OS Build 1809.
Depuis Windows 10 version 1803, la fermeture de toutes les fenêtres de terminal WSL ne supprimera pas les processus d'arrière-plan par défaut, sauf si le fichier /var/run/reboot-required
est présent. Ce fichier sera automatiquement créé par apt sur Ubuntu lorsqu'une mise à jour nécessite un redémarrage, mais si vous souhaitez redémarrer manuellement le sous-système, vous pouvez créer le fichier vous-même:
sudo touch /var/run/reboot-required
Je n'ai pas testé cela sur d'autres distributions disponibles dans le Microsoft Store. Une autre solution consiste à tuer tous les processus vous-même:
sudo killall -r '.*'
sudo
:sudo killall -r '.*'
sudo touch /var/run/reboot-required
. En fait, il semble que la présence du fichier force WSL à détruire tous les processus en arrière-plan et à arrêter le sous-système lorsque toutes les fenêtres du terminal sont fermées. Vous pouvez donc en abuser également.
killall
a parfaitement fonctionné pour moi. Pas besoin de toucher reboot-required
.
À une invite administrative de PowerShell: Restart-Service LxssManager
WARNING: Waiting for service 'LxssManager (LxssManager)' to stop...
Il suffit de sortir de la coquille avec exit
et de rouvrir pour résoudre le problème.
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 voudriez-vous éditer ceci dans votre réponse?
Ouvrez simplement une fenêtre de commande en tant qu'administrateur et exécutez ces commandes pour la redémarrer.
net stop LxssManager
net start LxssManager
timeout /t 3
commande (ajouter 3 secondes).
J'ai créé un *.bat
fichier et son exécution effectue le redémarrage dans les 10 secondes. (Je suis émerveillé par la rapidité avec laquelle les choses sont rechargées. Et, s'il vous plaît, indiquez si mon approche causera de graves problèmes à long terme.)
Placez les deux lignes suivantes dans un WSL_reboot.bat
fichier et exécutez-le chaque fois que vous devez redémarrer le WSL sous Windows 10.
net stop LxssManager
net start LxssManager
Note de mise à jour : d'après ma récente "mise à niveau" du système d'exploitation Windows, la version 1809 n'aime plus la sc
commande.
Note latérale: il est nécessaire de redémarrer le "noyau" WSL lorsqu'il formate un lecteur de lettres avec l'Explorateur Windows. Nous n'avons pas encore résolu le sous-produit, où la ls
commande obtiendra l'erreur suivante. Related-post-from-WSL @ Github ; Relatif-post-de-la-pile . Laisse tomber un lien si je réussis à résoudre le bogue de produit secondaire.
ls: 'System Volume Information': Permission denied
...
d--x--x--x 1 llinfeng llinfeng 512 Jan 15 11:00 'System Volume Information'/
...
sc
au lieu de net
, comme dans la réponse de @ samdd
net
ne fonctionnait pas avec mon Windows 10 à l'époque? sc
doit avoir travaillé à l'époque. J'aurais dû préciser le numéro de build de Windows.
net
au lieu desc
, comme dans la réponse de @ llinfeng