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

管理服务是Linux系统管理员的主要职责之一。知道如何管理系统服务对Linux用户也很重要,因为Linux用户可能必须以一种或另一种方式处理服务。

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

什么是systemd?

Systemd是Linux操作系统的系统和服务管理器。它是许多Linux发行版(包括Ubuntu,Red RHEL,OpenSuse和Arch Linux)中的默认服务管理器。 Systemd是诸如System VUpstart之类的较早服务管理器的继任者。

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

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

使用systemctl管理systemd服务

在Linux中, systemctl命令负责管理systemd服务。如果系统上有/ usr / lib / systemd目录,则很可能使用systemd服务管理器。

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

 systemctl --version
systemd --version

检查服务状态

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

例如,要检查docker服务的状态,您可以运行以下命令。 Docker是一种现代的虚拟化程序,软件开发人员使用它来有效地构建应用程序。

 systemctl status docker

注:systemctl帮助手册是指动词systemctl后作为命令太,因此,本指南将继续坚持这一定义的一致性。

相关:使用Docker虚拟化软件的原因

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

知道服务的状态是解决错误或诊断问题的主要方法之一。在详细说明为什么某些功能无法正常工作之前,系统管理员倾向于先检查该服务是否已启动并正在运行。

使用systemctl列出服务

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

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

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

启动和停止服务

stop命令用于停止不再需要运行的服务。例如,要停止docker服务:

 systemctl stop docker

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

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

要启动未运行的服务,请使用start命令。例如,要启动您最近停止的docker服务:

 systemctl start docker

如果要停止服务然后立即重新启动它,可以按以下方式使用重新启动命令。

 systemctl restart docker

启用和禁用服务

术语“启用启动服务”通常会使某些Linux用户感到困惑。通过启用服务,您是说应该在系统引导时使服务可用,或者在插入特定硬件时使服务准备就绪。要在Linux上启用docker服务,请执行以下操作:

 systemctl enable docker

要禁用引导时启动的服务,可以使用disable命令。例如,发出以下命令以禁用docker服务。

 systemctl disable docker

您可以使用许多其他命令和选项来管理系统上的服务。运行help命令systemctl –help或查看systemctl手册页(如果您无法确定使用该命令的方式)。

 man systemctl

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