Menu Close

13.4. 显示系统服务状态

您可以检查任何服务单元以获取其详细信息,并验证该服务是否启用或正在运行。您还可以查看在特定服务单元后或之前排序启动的服务。

流程

  • 要显示与系统服务对应的服务单元的详细信息,请输入:

    $ systemctl status <name>.service

    使用您要检查的服务单元的名称(例如:gdm)替换 <name>

    这个命令显示所选服务单元的名称,后接其简短描述、可用服务单元信息 中描述的一个或多个字段(如果由 root 用户执行,以及最新的日志条目)。

    表 13.2. 可用的服务单元信息

    描述

    Loaded

    是否载入了服务单元、到这个单元文件的绝对路径,以及是否启用该单位的信息。

    Active

    服务单元是否在运行的信息,后面有一个时间戳。

    Main PID

    对应系统服务的 PID 及其名称。

    Status

    相关系统服务的额外信息。

    Process

    有关相关进程的附加信息。

    CGroup

    有关相关控制组群(cgroups)的附加信息。

    例 13.1. 显示服务状态

    GNOME 显示管理器的服务单元名为 gdm.service。要确定这个服务单元的当前状态,在 shell 提示下键入以下内容:

    # systemctl status gdm.service
    gdm.service - GNOME Display Manager
       Loaded: loaded (/usr/lib/systemd/system/gdm.service; enabled)
       Active: active (running) since Thu 2013-10-17 17:31:23 CEST; 5min ago
     Main PID: 1029 (gdm)
       CGroup: /system.slice/gdm.service
               ├─1029 /usr/sbin/gdm
               ├─1037 /usr/libexec/gdm-simple-slave --display-id /org/gno...
               └─1047 /usr/bin/Xorg :0 -background none -verbose -auth /r...
    
    Oct 17 17:31:23 localhost systemd[1]: Started GNOME Display Manager.
  • 要只验证特定服务单元是否正在运行,请输入:

    $ systemctl is-active <name>.service
  • 要确定某个服务单元是否已启用,请输入:

    $ systemctl is-enabled <name>.service
    注意

    如果指定的服务单元正在运行或已启用,则 systemctl is-activesystemctl is-enabled 的返回退出状态为 0

  • 要确定在指定服务单元前排序哪些服务启动,请输入:

    # systemctl list-dependencies --after <name>.service

    <name> 替换为命令中服务的名称。例如,要查看在 gdm 前启动的服务列表,请输入:

    # systemctl list-dependencies --after gdm.service
    gdm.service
    ├─dbus.socket
    ├─getty@tty1.service
    ├─livesys.service
    ├─plymouth-quit.service
    ├─system.slice
    ├─systemd-journald.socket
    ├─systemd-user-sessions.service
    └─basic.target
    [output truncated]
  • 要确定在指定服务单元后排序哪些服务启动,请输入:

    # systemctl list-dependencies --before <name>.service

    <name> 替换为命令中服务的名称。例如,要查看在 gdm 后启动的服务列表,请输入:

    # systemctl list-dependencies --before gdm.service
    gdm.service
    ├─dracut-shutdown.service
    ├─graphical.target
    │ ├─systemd-readahead-done.service
    │ ├─systemd-readahead-done.timer
    │ └─systemd-update-utmp-runlevel.service
    └─shutdown.target
      ├─systemd-reboot.service
      └─final.target
        └─systemd-reboot.service

其他资源