WSL 中的 Ubuntu:重启命令不起作用
在Windows 10: Pro Ed OS中开发软件时,我一直将WSL
其用作访问 Linux 的一种方式。但是我使用的一些预格式化输入行不起作用,因为当 Ubuntu 在Windows Subsystem for Linux中运行时该命令似乎不起作用。reboot
我使用的预格式化输入行通常使用我在命令行中分配该行的 bash 变量执行 -即 $1
, $2
,$3
. 通常虽然我创建了一个命令行库(又名用于 Linux 导航的个人 CLI),但我将使用 bin 目录支持的命令来执行它。
这是一个传统用例的示例:
jay-dev@stack-overflow:~$ sudo apt update && sudo apt upgrade;sudo reboot;
执行$ sudo reboot
命令后,Ubuntu会打印以下内容:
jay-dev@stack-overflow:~$ sudo reboot
[sudo] password for andrew-chambers:
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Failed to talk to init daemon.
jay-dev@stack-overflow:~$
我想知道的是,是否有可行的解决方案。
以下项目符号是可行解决方案的 3 个示例:
WSL
允许命令成功执行的配置reboot
,这意味着reboot
重启 Ubuntu。编写命令的另一种方法
reboot
,这将导致它以导致 Ubuntu 重新启动的方式执行。完全是一个替代命令。
一种编写我自己的命令的方法,它将重新启动 Ubuntu。
关闭和打开终端将不起作用,因为我不能以任何预先格式化的方式或任何类型的代码包含它。(这应该很明显)
您可以使用以下命令重新启动 Ubuntu:
需要注意的是,您需要以 Windows 管理员权限运行的 shell。
另一种方法是
wsl.exe --shutdown
orwsl.exe -t <DistroName>
。所有这些都应该在 WSL 中工作。