Skip to main content

2.4 管理系统服务

本节介绍基于 systemd 的 Ubuntu 24.04 LTS 系统服务状态查询、启用/禁用及运行时控制方法。所有操作需以 root 权限执行,建议通过具有 sudo 权限的管理员账户调用 `sudo systemctl` 命令。


[1] 服务状态与配置概览

● 查看当前运行中的服务(默认仅显示已加载且处于 active 状态的服务):

```bash

root@localhost:~# systemctl -t service

```

可选增强参数:

  `--all`:同时列出 inactive(未激活)及 failed(失败)状态的服务;

  `--no-pager`:禁用分页器(如 less/more),便于脚本化处理或日志采集。


● 查看全部服务单元文件的启用状态与预设策略(含 enabled/disabled/static/alias 等类型):

```bash

root@localhost:~# systemctl list-unit-files -t service

```

输出字段说明:

  **UNIT FILE**:服务单元文件名;

  **STATE**:当前启用状态(enabled:开机自启;disabled:禁用;static:不可直接启用,由其他单元触发;alias:别名);

  **PRESET**:系统预设策略(由 `/usr/lib/systemd/system-preset/` 定义,决定新安装服务的默认状态)。


注:`systemctl -t service` 默认仅显示已加载单元;若需完整清单(含未加载单元),请使用 `systemctl list-unit-files`。


[2] 服务生命周期管理

对于确认无需运行的安全敏感或资源冗余服务(如 `apparmor` 在特定容器化或精简部署场景中),可执行以下标准化操作:

```bash

# 立即停止服务进程(运行时生效)

root@localhost:~# systemctl stop apparmor


# 禁用开机自启(持久化配置,写入 /etc/systemd/system/)

root@localhost:~# systemctl disable apparmor

```

说明:`.service` 后缀在 systemctl 命令中可省略,系统将自动补全;禁用操作不影响当前会话中已启动的服务实例,需配合 `stop` 使用以实现完全停用。