
如果您在麒麟操作系统中需要确认某个服务当前是否正在运行,或想了解其启动状态、依赖关系及最近的运行日志,则需通过 systemd 服务管理机制进行查询。以下是查看服务状态的具体操作方法:
一、使用 systemctl status 查看指定服务状态
systemctl status 是最直接的服务状态检查命令,可显示服务当前运行状态、主进程 PID、启用状态(enabled/disabled)、最近日志片段等关键信息。
1、在终端中输入命令查看 Apache 服务状态:systemctl status apache2
2、查看 SSH 服务运行详情:systemctl status sshd
3、若服务未安装或单元文件不存在,系统将提示 Unit xxx.service could not be found
4、按 q 键退出状态页面(该命令默认启用分页模式)
二、使用 systemctl is-active 判断服务活动状态
该命令仅输出服务当前是否处于激活(active)状态,适用于脚本判断或快速验证,返回值为 active、inactive、failed 等纯文本结果。
1、检查 MySQL 服务是否正在运行:systemctl is-active mysqld
2、执行后若终端仅显示 active,表示服务已成功启动并保持运行
3、若显示 failed,说明服务启动异常,需结合 journalctl 进一步排查
4、该命令无交互输出,适合嵌入自动化检测逻辑
三、使用 systemctl list-units 列出所有服务单元
此命令用于全局浏览当前加载的所有服务单元,支持按状态、类型、子系统等条件筛选,适用于批量核查或发现未预期启动的服务。
1、列出所有已加载且处于运行状态的服务:systemctl list-units --type=service --state=running
2、仅显示已启用(开机自启)的服务:systemctl list-unit-files --type=service --state=enabled
3、筛选包含 “nginx” 字样的服务单元:systemctl list-units | grep nginx
4、查看失败服务列表以便集中处理:systemctl list-units --state=failed
四、使用 journalctl 查看服务历史日志
当服务状态异常或无法启动时,journalctl 可提取该服务完整的日志流,包括启动过程中的错误提示、权限拒绝记录及崩溃堆栈。
1、查看某服务最近 20 行日志:journalctl -u nginx.service -n 20
2、实时跟踪服务日志输出:journalctl -u sshd.service -f
3、查看上次启动中该服务的日志:journalctl -u apache2.service -b -1
4、过滤严重级别为 error 或更高的日志条目:journalctl -u mysqld.service -p err..emerg
五、使用 systemctl show 获取服务详细配置属性
该命令输出服务单元的完整元数据,包括启动路径、环境变量、依赖关系、重启策略、资源限制等底层配置项,适用于深度诊断与合规审计。
1、显示 FTP 服务的完整配置参数:systemctl show vsftpd.service
2、仅提取服务启动所用的可执行文件路径:systemctl show vsftpd.service -p ExecStart
3、查看服务是否设置了 Restart=always 策略:systemctl show nginx.service -p Restart
4、检查服务所属的控制组(cgroup)路径:systemctl show sshd.service -p Slice










