大家好,我是源码被猫吃了。
systemctl 命令是 Linux 中常用的命令,用于管理系统的服务,比如启动、终止 Nginx 或 Docker 服务,也可以查看服务的状态。
1 问题描述
但是 WSL 中使用 systemctl 命令会报错,报错信息如下。
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
WSL 并没有通过 systemd 启动,所以无法执行该操作。但是系统中是有 systemd 命令的,命令位置在 /usr/bin/systemctl。
WSL 官方文档也提到了不支持 systemctl。
目前 WSL 不支持 systemd
(Linux 中的服务管理系统)。
2 解决方法
既然不能使用 systemctl,那么也不是没有办法完成 systemctl 的功能。
WSL 中可以使用 /etc/init.d/ 目录中的命令替代 systemctl,也可以使用 service 命令。
下面以查看 Docker 服务的状态为例,通过 /etc/init.d/ 和 service 命令替代 systemctl。
3 小结
WSL 中不能使用 systemctl 命令,可以使用 /etc/init.d/ 目录中的服务命令或 service 命令替代。