在银河麒麟系统中,用systemctl list-unit-files --type=service可列出全部已安装服务及开机自启状态(enabled/disabled/static);用systemctl --type=service --state=running仅显示当前运行中的服务;还可通过service --status-all 2>/dev/null | grep '+'或ps aux | grep '[.*]' | grep -v grep辅助验证。

在银河麒麟操作系统中,需要通过终端命令快速列出系统中全部已安装或正在运行的服务,以便排查服务状态、确认某项服务是否存在或检查开机自启配置。
查看所有已安装的系统服务及开机自启状态
该命令扫描 /usr/lib/systemd/system/ 和 /etc/systemd/system/ 下所有 service 文件,不依赖服务是否启动,结果包含 enabled/disabled/static 等状态标识。
第一步:按 Ctrl+Alt+E 打开终端(或右键桌面空白处选择“打开终端”)。
第二步:执行命令:systemctl list-unit-files --type=service。
输出中每行含服务名与状态,static 表示该服务不能被直接启用,仅作为其他服务的依赖存在;enabled 表示已设置开机自启,disabled 表示未启用但可启用。
查看当前正在运行的服务
这个命令只显示此刻处于 active (running) 状态的服务,结果更精简,适合快速确认哪些服务真正在工作。
输入命令:systemctl --type=service --state=running。
注意:该命令不会显示 inactive 或 failed 状态的服务,也不会列出未启动但已安装的服务。
补充验证方式
当 systemctl 输出不全时,可用以下两种方法兜底。
方法一:使用传统 service 命令(适用于部分遗留服务)
执行:service --status-all 2>/dev/null | grep '+'。
此命令会列出所有能被 service 脚本识别的服务中处于“运行中”状态的条目,+ 号表示运行,- 号表示停止,? 号表示无法判断。
方法二:用进程过滤反向定位服务
执行:ps aux | grep '\[.*\]' | grep -v grep。
该命令筛选出内核线程和部分守护进程名称带方括号的进程,可辅助识别如 udevd、rsyslogd 等未被 systemd 完全接管的老式服务。

















