TranslateProject/translated/tech/20140819 Linux Systemd--Start or Stop or Restart Services in RHEL or CentOS 7.md
carolinewuyan be70052238 已校对
2014-08-28 11:49:45 +08:00

3.4 KiB
Raw Blame History

Linux Systemd —— 在RHEL/CentOS 7中启动/停止/重启服务

RHEL/CentOS 7.0中一个最主要的改变,就是切换到了systemd。它用于替代红帽企业版Linux前任版本中的SysV和Upstart对系统和服务进行管理。systemd兼容SysV和Linux标准组的启动脚本。

Systemd是一个Linux操作系统下的系统和服务管理器。它被设计成向后兼容SysV启动脚本并提供了大量的特性如开机时平行启动系统服务按需启动守护进程支持系统状态快照或者基于依赖的服务控制逻辑。

先前的使用SysV初始化或Upstart的红帽企业版Linux版本中使用位于/etc/rc.d/init.d/目录中的bash初始化脚本进行管理。而在RHEL 7/CentOS 7中这些启动脚本被服务单元取代了。服务单元以.service文件扩展结束提供了与初始化脚本同样的用途。要查看、启动、停止、重启、启用或者禁用系统服务你要使用systemctl来代替旧的service命令。

为了向后兼容旧的service命令在CentOS 7中仍然可用它会重定向所有命令到新的systemctl工具。

使用systemctl来启动/停止/重启服务

要启动一个服务,你需要使用如下命令:

# systemctl start httpd.service

这会启动httpd服务就我们而言Apache HTTP服务器。

要停掉它需要以root身份使用该命令

# systemctl stop httpd.service

要重启你可以使用restart选项如果服务在运行中它将重启服务如果服务不在运行中它将会启动。你也可以使用try-start选项它只会在服务已经在运行中的时候重启服务。同时reload选项你也可以有它会重新加载配置文件。

# systemctl restart httpd.service
# systemctl try-restart httpd.service
# systemctl reload httpd.service

我们例子中的命令看起来会像下面这样:

systemctl start-stop-restart

检查服务状态

要检查服务状态你可以使用status选项看这里

# systemctl status httpd.service

输出结果就像这样:

systemctl status

它会告诉你运行中的服务的方方面面。

使用启用/禁用服务来控制开机启动

你也可以使用enable/disable选项来控制一个服务是否开机启动命令如下

# systemctl enable httpd.service
# systemctl disable httpd.service

输出结果看这里:

systemctl-enable

虽然在过去的几年中对systemd的采用饱受争议然而大多数主流发行版都已经逐渐采用或打算在下一个发行版中采用它。所以它是一个有用的工具我们需要好好熟悉它。


via: http://linoxide.com/linux-command/start-stop-services-systemd/

作者:Adrian Dinu 译者:GOLinux 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出