📌  相关文章
📜  检查 systemctl 服务是否正在运行 linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:55:42.783000             🧑  作者: Mango

检查 systemctl 服务是否正在运行 Linux - Shell/Bash

在 Linux 系统上,我们通常使用 systemctl 命令管理系统服务。使用 systemctl 命令的其中一个任务是检查服务是否正在运行。在本文中,我们将介绍如何使用 systemctl 命令检查服务是否正在运行。

检查单个服务是否正在运行

要检查单个服务是否正在运行,请使用以下命令:

systemctl status <service>

其中, 是要检查的服务的名称。例如,要检查 apache2 服务是否正在运行,可以运行以下命令:

systemctl status apache2

如果服务正在运行,您将看到类似以下内容的输出:

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-08-13 14:51:31 UTC; 4 days ago
 Main PID: 1381 (apache2)
    Tasks: 6 (limit: 2360)
   CGroup: /system.slice/apache2.service
           ├─1381 /usr/sbin/apache2 -k start
           ├─1383 /usr/sbin/apache2 -k start
           ├─1384 /usr/sbin/apache2 -k start
           ├─1385 /usr/sbin/apache2 -k start
           ├─1386 /usr/sbin/apache2 -k start
           └─1387 /usr/sbin/apache2 -k start

请注意它的 Active 字段会显示 active (running)。

如果服务未运行,则会看到以下内容:

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2021-08-16 14:12:57 UTC; 1 day 10h ago
  Process: 3079 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)

请注意它的 Active 字段会显示 inactive (dead)。

检查多个服务是否正在运行

要检查多个服务是否正在运行,请使用以下命令:

systemctl status <service1> <service2> <service3> ...

其中, 等是要检查的服务的名称。例如,要检查 apache2、mysql 和 sshd 服务是否正在运行,可以运行以下命令:

systemctl status apache2 mysql sshd
结束语

这就是如何使用 systemctl 命令检查 Linux 系统上服务是否正在运行的介绍。这个技能在管理 Linux 服务器时非常有用。