Est-il possible de redémarrer le sous-système Ubuntu sans redémarrer mon système?
J'ai essayé d'utiliser la shutdown
commande après l'installation de certaines mises à jour, mais cela ne semble pas être une option ici.
Est-il possible de redémarrer le sous-système Ubuntu sans redémarrer mon système?
J'ai essayé d'utiliser la shutdown
commande après l'installation de certaines mises à jour, mais cela ne semble pas être une option ici.
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
au lieu desc
, comme dans la réponse de @ llinfengnet
travaillé en cmd (avec admin). Je viens de tester que mon fichier de battesc
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: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:
la source
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 toucherreboot-required
.À une invite administrative de PowerShell:
Restart-Service LxssManager
la source
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.la source
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.
la source
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.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.la source
sc
au lieu denet
, comme dans la réponse de @ samddnet
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.