我在安装一些更新后尝试使用
shutdown
命令,但是在这里似乎不是一个选择。 > #1 楼
关闭所有内容:构建18917+ wsl.exe --shutdown
终止特定发行版:Windows 1903+
wsl.exe -t <DistroName>
旧版本
# PowerShell (admin)
Restart-Service LxssManager
# or CMD (admin)
net stop LxssManager
net start LxssManager
#2 楼
在管理性PowerShell提示符下:Restart-Service LxssManager
评论
@RajeshS可能很短,但确实回答了问题。
–nyuszika7h
19年4月21日在14:41
我喜欢。易于记忆,带有选项卡的自动完成功能就足够了。有趣的是,看到Windows从一开始就降低了其服务模型的水平。
–路易·瓦韦鲁
19-4-24的1:43
我只是反复得到这个警告:等待服务“ LxssManager(LxssManager)”停止...
–克里斯诺(Chris Snow)
19年6月13日在15:53
这很完美。只需先使用管理员权限启动您的Powershell。
–埃里克·卡尔科肯(Erik Kalkoken)
19年11月1日在13:21
#3 楼
从Windows 10版本1803开始,默认情况下关闭所有WSL终端窗口将不会杀死后台进程,除非存在文件/var/run/reboot-required
。当更新需要重新引导时,此文件将由apt在Ubuntu上自动创建,但是如果要手动重新引导子系统,则可以自己创建文件:sudo touch /var/run/reboot-required
我尚未在Microsoft Store中提供的其他发行版上对此进行测试。另一种解决方案是自己杀死所有进程:
sudo killall -r '.*'
评论
您知道我可以强制重新启动吗?我想测试答案,这样我才能接受。
–路易·瓦韦鲁
18-6-10下午4:37
这对我有用。我不得不sudo:sudo killall -r'。*'
– F21
18年6月20日在9:19
@Louis我看到您已经接受它,但是您可以执行sudo touch / var / run / reboot-required。实际上,似乎该文件的存在会导致WSL在关闭所有终端窗口时杀死所有后台进程并关闭子系统,因此您也可以滥用它。
–nyuszika7h
18年7月28日在8:40
Killall对我来说工作非常完美。无需触摸重新启动要求。
–乔凡尼·巴西
19年5月5日在16:06
#4 楼
只需以管理员身份打开cmd窗口,然后运行以下命令将其重新启动。net stop LxssManager
net start LxssManager
评论
在这两个命令之间添加几秒钟。例如超时/ t 3命令(增加3秒)。
– Biswapriyo
18-10-21在6:33
这与samdd从8月以来的回答重复。
–fixer1234
18-10-25在2:46
不起作用...处于“停止”状态。当我尝试再次运行它时,出现“服务正在启动或停止。请稍后重试。” ...永远不会完成。在我从“ bash -c'rsync ....'”批处理中运行rsync命令后,总是挂起。这是一场噩梦。
– Gunslingor
19年5月5日在13:37
“ LxssManager服务正在停止..................................................... .............................无法停止LxssManager服务。” :-/
– Alex Jansen
19-11-25在23:26
#5 楼
只需使用exit
退出外壳并重新打开即可解决问题。该shell需要以admin身份运行。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:~$
评论
这不再起作用。
–达卡龙
18年7月24日在9:51
@Dakkaron-提交问题时确实如此。
–猎犬
18-10-23在1:55
这就是为什么我说“不再”。这篇文章过时的信息很重要,因此其他有问题的人现在无需尝试即可发现它不起作用。我不确定这里如何处理事情,但是在Stackoverflow上,答案不仅应该帮助提出问题的人,而且还可以为正在寻找相同问题的解决方案的所有其他人提供帮助。
–达卡龙
18-10-23在8:23
适用于我的版本17134。
–伊恩·坎普(Ian Kemp)
18年11月8日在7:19
在1909年为我工作(18363)。因此答案仍然有效。确保在提升的提示下运行它。
–我会吗
20-2-23在1:01
#6 楼
以下内容允许使用命令wslreboot(或任何自定义命令)从WSL2内部关闭
从技术上讲,wslshutdown对于下面的代码更合适
创建别名:
sudo nano ~/.bash_aliases
添加行
alias wslreboot='history -a && cmd.exe /C wsl --shutdown'
history -a确保关闭前我们保存了bash命令历史记录
启用别名:
重新启动WSL
cmd.exe /C wsl --shutdown
或键入
source .bash_aliases
使用:
现在您可以键入
wslreboot
以关闭
我想您可以使用上述版本的变体运行以下行的批处理文件
wsl --shutdown
wsl
正确重启
#7 楼
我创建了一个*.bat
文件,运行该文件会在10秒内重新启动。 (我对重新加载的速度感到惊讶。而且,请告知我的方法从长远来看是否会造成严重的麻烦。)将以下两行放入
WSL_reboot.bat
文件中,然后每运行一次您需要在Windows 10上重新启动WSL的时间。 。侧面说明:当他/她通过Windows资源管理器格式化字母驱动器时,需要重新启动WSL“内核”。但是,还没有完全解决副产品,在这里
sc
命令将得到以下错误。相关帖子来自WSL @ Github;从堆栈相关的帖子。如果我设法解决副产品错误,将删除一个链接。net stop LxssManager
net start LxssManager
评论
为什么用sc代替net,如@samdd的回答
–盖亚
19年1月1日在17:35
我猜net当时无法在Windows 10上运行吗?那时的sc一定已经工作了。我应该已经指定了Windows内部版本号。
–林丰
19年1月2日,16:56
评论
为什么用net代替sc,如@llinfeng的答案
–盖亚
19年1月1日在17:36
净工作在cmd(与管理员)。刚刚测试过,我的带sc的bat文件在Windows OS Build 1809中不起作用。
–林丰
19年1月15日在16:11
@Gaia net命令是PowerShell之前的用于管理Windows服务和网络的旧版工具
–稳定狗
19/12/7在13:21
我使用net命令(net stop LxxManager似乎挂起)在我的计算机(Windows 10内部版本17763)的管理CMD中出现问题。由于我远离PowerShell(因为我拥有WSL),因此sc命令(查询/停止/启动)可以完成该工作,而在同一Admin CMD窗口上没有任何问题。我认为当前是服务控制管理器的首选API?
– Flandraco
20年10月10日,0:45
我正在将最新的Windows Insider与WSL 2结合使用,并尝试使用C:\ Users \ xxx> wsl -l -v之类的命令,显示三个是“ Ubuntu”,“ docker-desktop”和“ docker-desktop-data”与我的情况一样,也有最新的docker在运行,因此wsl -shutdown可以工作,但是它也可以关闭我的docker环境。经过反复试验,我发现wsl -t“ Ubuntu”可以工作,但是有时需要时间或不可靠?一旦工作,当我使用管理员权限启动命令外壳程序时。
– EinoMäkitalo
20-5-14在1:42