要查看当前已激活的计时器,运行 systemctl list-units --type=timer --state=active,该命令仅显示 active 状态的 timer 单元,包括 waiting(等待触发)和 running(服务正在执行)两种子状态。

在 Linux 中,已激活的计时器(timers)是 systemd 管理的一类单元,常用于定时执行任务(类似 cron,但由 systemd 原生支持)。要查看所有**当前已激活(正在运行或等待触发)的计时器**,最准确、直接的方法是使用 systemctl 命令配合类型过滤和状态筛选。
查看所有已激活的计时器
运行以下命令:
systemctl list-units --type=timer --state=active
该命令仅显示状态为 active 的 timer 单元,包括两种常见子状态:
- waiting:计时器已启用,正等待下一次触发时间(最常见)
- running:计时器刚触发,对应的 .service 正在执行中(短暂出现)
输出列含 UNIT(计时器名)、LOAD(配置是否加载)、ACTIVE(活跃状态)、SUB(子状态)和 DESCRIPTION(描述),一目了然。
补充查看:已启用但未激活的计时器
有些计时器已设置为开机启用(enabled),但尚未 start 过,因此不处于 active 状态。若想确认哪些计时器被设为“开机自启”,用:
systemctl list-unit-files --type=timer --state=enabled
注意:这显示的是持久化启用状态(写在 /etc/systemd/system/ 或 /usr/lib/systemd/system/ 中的 enable 链接),不代表当前正在运行或等待。
查看全部计时器(含 inactive 和 failed)
如需完整清单(比如排查为何某个定时任务没反应),加 --all 参数:
systemctl list-units --type=timer --all
这时你会看到 inactive(已加载但未启动)、failed(上次触发失败)等状态,便于诊断。
快速检查某个具体计时器详情
例如查看 logrotate.timer 的状态和下次触发时间:
systemctl status logrotate.timer- 或更直观地:
systemctl show --property=NextElapseUSecMonotonic logrotate.timer(显示下次触发的单调时间戳)
多数 timer 单元还会在 status 输出中直接显示 “Next:” 行,标明下一次计划执行时间。


















