在Linux中启动、停止和重启系统服务的方法随着init系统的演进而有所不同,目前主流的init系统是Systemd。针对Systemd环境下的操作步骤如下:
1. 使用 systemctl
命令管理Systemd服务
-
启动服务:
systemctl start <service_name>.service
其中
<service_name>
是你要操作的服务名称,比如启动SSH服务:systemctl start sshd.service
2. **停止服务**:
```bash
systemctl stop <service_name>.service
停止SSH服务的例子:
systemctl stop sshd.service
-
重启服务:
systemctl restart <service_name>.service
重启SSH服务的例子:
systemctl restart sshd.service
-
查看服务状态:
systemctl status <service_name>.service
-
使服务在开机时自动启动(启用服务):
systemctl enable <service_name>.service
-
禁止服务在开机时自动启动(禁用服务):
systemctl disable <service_name>.service
2. 对于传统的SysVinit服务
虽然Systemd已经成为很多现代Linux发行版的标准,但在一些旧版本或者仍在使用SysVinit的系统上,可以使用以下命令:
-
启动服务:
service <service_name> start
2. **停止服务**:
```bash
service <service_name> stop
-
重启服务:
service <service_name> restart
4. **管理服务开机启动**:
- 使用 `chkconfig`(Red Hat系列):
```bash
chkconfig --level 35 <service_name> on/off
-
使用
update-rc.d
(Debian/Ubuntu系列):update-rc.d <service_name> enable/disable
综上所述:上述命令中的 <service_name>
不包含 .service
后缀,在SysVinit系统下,服务名通常是脚本名称,而在Systemd环境下则是服务单元文件的基名。另外,通过systemctl list-unit-files
可以查看系统上所有服务的状态及其是否开机启动。