Est-il possible de redémarrer le sous-système Ubuntu sans redémarrer mon système?
J'ai essayé d'utiliser la commande shutdown
après l'installation de certaines mises à jour, mais cela ne semble pas être une option ici.
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 '.*'
Quitter simplement Shell avec exit
et la réouverture semble faire l'affaire.
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:~$
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
J'ai créé un fichier *.bat
et son exécution redémarre en 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 fichier WSL_reboot.bat
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 : selon ma récente "mise à niveau" du système d'exploitation Windows, la version 1809 n'aime plus la commande sc
.
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 commande ls
obtiendra l'erreur suivante. Related-post-from-WSL @ Github ; Related-post-from-the-Stack . 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'/
...