如何在 Linux 中使用 systemctl 命令管理 systemd 服务

管理服务是 Linux 系统管理员的主要职责之一。 了解如何管理系统服务对于 Linux 用户也很重要,因为他们可能不得不以一种或另一种方式处理服务。

本指南介绍如何使用 systemctl 命令管理 systemd 服务。

什么是系统化?

Systemd 是 Linux 操作系统的系统和服务管理器。 它是许多 Linux 发行版中的默认服务管理器,包括 Ubuntu、Red RHEL、OpenSuse 和 Arch Linux。 Systemd 是旧服务管理器的继承者,例如 系统五暴发户.

与 System V 服务管理器不同,systemd 旨在通过并行启动服务来提高 Linux 启动过程的效率。 systemd 的另一个独特功能是它按需提供服务,即它可以将服务的启动推迟到系统需要时才启动,这极大地提高了性能。

Systemd 不仅限于管理操作进程或服务,还可以用于挂载文件系统、监控网络、运行计时器等。

使用 systemctl 管理 systemd 服务

在 Linux 中, 系统控制 command 负责管理 systemd 服务。 如果你有 /usr/lib/systemd 系统上的目录,那么您很可能使用 systemd 服务管理器。

您还可以运行以下任何命令来检查 systemd 服务管理器是否在您的系统上可用。

systemctl --version
systemd --version

检查服务状态

要检查系统上特定服务的状态,请使用 地位 命令后跟要检查的服务的名称。

为了 example检查状态 码头工人 服务您可以运行以下命令。 Docker 是软件开发人员用来高效构建应用程序的现代虚拟化程序。

systemctl status docker

笔记: systemctl 帮助手册是指后面的动词 系统控制 因此,作为一个命令,本指南将坚持该定义以保持一致性。

除了列出服务的状态, 地位 命令还为您提供重要信息,例如服务的进程 ID、内存使用情况以及服务中最近更改的简单列表。

了解服务的状态是您用于排除错误或诊断问题的主要方法之一。 在详细了解为什么某些东西不工作之前,系统管理员倾向于首先检查服务是否启动并运行。

使用 systemctl 列出服务

通常,您需要知道系统上有哪些服务可用,然后才能继续管理它们。 您可以使用以下命令列出系统上的所有可用服务。

systemctl list-unit-files --type service --all

除了列出系统上可用的服务之外,该命令还将显示这些服务的状态。 最常见的状态包括: 启用、禁用、屏蔽等

启动和停止服务

停止 命令用于停止您不再希望运行的服务。 为了 example停止 码头工人 服务:

systemctl stop docker

停止 Linux 机器上的服务有几个原因。 未使用的服务会消耗不必要的系统资源并对 PC 的性能产生负面影响。

如果服务消耗过多内存,请考虑在 Linux 中管理内存的其他选项。 运行多个服务也是一个潜在的安全风险,因为您将更多端口暴露给外部世界以供利用。

要启动未运行的服务,请使用 开始 命令。 为了 example开始 码头工人 您最近停止的服务:

systemctl start docker

如果您想停止服务然后立即重新启动它,您可以使用 重新开始 命令如下。

systemctl restart docker

启用和禁用服务

条款 启用开始 一些 Linux 用户经常会混淆这些服务。 通过启用服务,您是说该服务应该在系统启动时可用,或者在插入特定硬件时设置服务就绪。要在 Linux 上启用 docker 服务:

systemctl enable docker

要禁止服务在启动时启动,您可以使用 禁用 命令。 为了 example,发出以下命令来禁用 码头工人 服务。

systemctl disable docker

您可以使用许多其他命令和选项来管理系统上的服务。 运行帮助命令 systemctl –帮助 如果您不知道如何使用该命令,请查看 systemctl 手册页。

man systemctl

很多时候,一些服务在系统启动时启动。 如果系统不需要这些服务,则会影响计算机的整体性能。 您可以在 Linux 上轻松停止此类启动服务和守护程序。