麒麟OS可通过systemctl、journalctl、图形服务管理器、SysV脚本及ps命令五种方式查看服务状态:systemctl查运行与启用状态;journalctl查日志;UKUI服务管理器图形化操作;/etc/init.d/脚本兼容旧服务;ps/grep识别非托管进程。

如果您需要确认麒麟操作系统中某个系统服务是否正在运行、是否启用开机自启,或需排查后台进程异常,可通过多种方式获取服务状态信息。以下是具体操作方法:
一、使用systemctl命令查看服务状态
systemctl是麒麟OS(基于Linux systemd架构)管理服务的核心命令,可查询服务当前运行状态、启用状态及详细单元信息。
1、在终端中输入:systemctl status 服务名,例如 systemctl status sshd,可查看该服务的运行状态、最近日志、启动时间及主进程PID。
2、输入:systemctl list-units --type=service --state=running,列出当前所有正在运行的服务。
3、输入:systemctl list-units --type=service --state=inactive,列出当前已加载但未运行的服务。
4、输入:systemctl is-active 服务名,仅返回 active 或 inactive,适合脚本判断。
5、输入:systemctl is-enabled 服务名,返回 enabled 或 disabled,用于确认是否设置为开机自启。
二、通过journalctl查看服务日志与启动详情
journalctl可检索systemd服务的完整日志流,适用于诊断服务启动失败、崩溃或异常退出原因。
1、查看指定服务的全部日志:journalctl -u 服务名,例如 journalctl -u nginx。
2、仅查看本次启动以来的日志:journalctl -u 服务名 -b。
3、实时跟踪服务日志输出:journalctl -u 服务名 -f,按 Ctrl+C 退出监听。
4、查看服务启动失败的摘要信息:journalctl -u 服务名 --since "2 hours ago" | grep -i "failed\|error"。
三、图形界面查看系统服务状态
麒麟OS桌面环境(如UKUI)提供“服务管理器”图形工具,适用于不熟悉命令行的用户直观查看和控制服务。
1、点击左下角“开始菜单”,在搜索框中输入服务管理器并回车。
2、若未安装,可通过软件中心搜索“kylin-service-manager”并安装。
3、启动后,在列表中可查看每项服务的名称、描述、当前状态(运行/停止)、启用状态(开机自启/禁用)。
4、右键点击某服务,可选择“启动”、“停止”、“重启”、“启用”或“禁用”。
5、双击服务条目,可查看其依赖关系、启动脚本路径及最近操作日志摘要。
四、检查守护进程对应的传统SysV服务脚本(兼容模式)
部分老旧服务或第三方软件可能仍使用SysV init脚本方式管理,位于/etc/init.d/目录,需通过service命令交互。
1、列出所有SysV风格服务脚本:ls /etc/init.d/。
2、查看某脚本对应服务状态:sudo service 服务名 status,例如 sudo service cron status。
3、启动或停止该类服务:sudo service 服务名 start 或 sudo service 服务名 stop。
4、注意:此类操作需root权限,且部分脚本在systemd环境下已被自动转换为unit文件,实际执行时可能触发重定向提示。
五、使用ps与grep组合识别非systemd托管的后台进程
某些程序以纯进程形式启动(如直接执行二进制文件),未注册为systemd服务或SysV脚本,需通过进程快照方式识别其运行状态。
1、查找特定关键词的后台进程:ps -aux | grep 关键词,例如 ps -aux | grep ollama。
2、过滤掉grep自身进程:ps -aux | grep "[o]llama"(方括号绕过匹配)。
3、查看进程树结构,确认父进程是否为systemd(PID 1):ps -ef --forest | grep 关键词。
4、结合lsof检查该进程监听的端口或打开的文件:sudo lsof -i -P -n -p 进程PID。

















