首页 > 操作系统 >Linux systemctl查看服务状态命令详解

Linux systemctl查看服务状态命令详解

来源:互联网 2026-05-16 20:47:06

Linux系统管理中,systemctl命令是查看服务状态的核心工具。systemctlstatus可显示服务的详细运行状态、日志和依赖关系。systemctlis-active能快速返回服务的活动状态。systemctllist-units可列出所有正在运行的服务。systemctlis-enabled用于检查服务是否设置为开机自启。此外,journalc

在Linux系统管理中,准确掌握服务的运行状态是日常运维工作的基础。无论是遇到服务无响应、启动失败,还是单纯需要确认其后台运行情况,Linux系统都提供了多种清晰高效的命令工具来帮助管理员进行排查。

Linux systemctl查看服务状态命令详解

长期稳定更新的攒劲资源: >>>点此立即查看<<<

一、使用systemctl status查看服务详细状态

要全面了解一个服务的健康状况,systemctl status命令是首选工具。它能够提供服务的综合状态报告,包括运行状态、进程ID、最近的日志片段以及相关的依赖关系。

操作方法是在终端中输入 systemctl status 服务名,例如 systemctl status nginx

在输出信息中,需要重点关注以下字段:

Active: 这是核心状态指示。若显示为 active (running),则表示服务正在正常运行。若为 inactive (dead),则服务当前已停止。若出现 failed,则表明最近一次启动尝试失败,需要进一步排查原因。

Loaded: 该字段后的括号内容显示了服务的开机启动设置。enabled 表示已设为开机自启,disabled 则表示未设置。查看完毕后,按 q 键即可退出状态页面。

二、使用systemctl is-active快速检查服务运行状态

当仅需快速确认服务是否在运行时,例如在编写自动化脚本时,systemctl is-active命令非常适用。它输出简洁,只返回状态关键词。

使用命令 systemctl is-active 服务名,例如 systemctl is-active sshd

该命令通常返回三种结果之一:activeinactivefailed。若希望完全静默输出,仅通过脚本的退出码($)进行判断,可附加 --quiet 参数。

三、列出所有正在运行的服务

若需全局查看系统中所有处于活动状态的服务,进行批量巡检,可以使用此命令。它能筛选出当前实际运行的服务,排除已加载但未运行的服务。

执行命令:systemctl list-units --type=service --state=running

输出列表将显示所有状态为 active (running) 的服务,包含服务名称、加载状态、描述和激活时间。若列表过长,可使用 -n 参数限制显示行数,例如 -n 20 仅显示前20条记录。

四、查看服务的开机自启状态

需注意区分服务的“当前运行状态”与“开机自启状态”,这是两个不同的概念。一个服务可以正在运行但未设置开机启动,反之亦然。systemctl is-enabled命令专门用于检查后者。

执行:systemctl is-enabled 服务名,例如 systemctl is-enabled cron

返回值通常有三种:

enabled:已明确设置为开机自动启动。
disabled:未设置开机自动启动。
static:此状态较为特殊,表示该服务单元本身不能被直接启用(enable),但它可能作为其他服务的依赖项,在系统启动的特定阶段被自动调用。例如 sysinit.target 这类基础单元通常属于此类型。

五、结合journalctl查看服务历史日志

systemctl status提供的摘要信息不足以诊断问题时,需要查阅更完整的系统日志。journalctl命令可以按服务单元筛选日志,服务崩溃前的最后输出往往是解决问题的关键线索。

基本用法为:journalctl -u 服务名 --since “时间范围”。例如,查看docker服务过去一小时的日志:journalctl -u docker --since “1 hour ago”

以下是一些实用技巧:

若要实时跟踪日志更新,可添加 -f 参数进入跟随模式:journalctl -u 服务名 -f
若需快速查看日志末尾部分,可组合命令:journalctl -u 服务名 --no-pager | tail -30,这将直接输出最后30行日志。
在日志中,可关注以下关键信息:若出现 Failed with result ‘exit-code’,通常表示服务进程自身异常退出(返回了非零退出码)。若出现 ‘signal’(如 SIGKILL, SIGSEGV),则暗示进程是被外部信号终止的,可能源于内存不足被OOM Killer清除,或被人为使用 kill 命令结束。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。