在 CentOS 里提到 “trigger 失败”,最常见的是 systemd 的 trigger(触发器) 或 rpm 的 trigger 场景。下面按常见原因分类说明,你可以对照看是哪一种。
systemctl trigger 没生效systemctl trigger xxx.service
可能原因:
Triggers= 配置.timer / .path / .socket✅ 排查:
systemctl cat xxx.service
看有没有:
Triggers=xxx.service
例如:
systemctl start xxx.timer
失败原因:
enabled✅ 检查:
systemctl status xxx.timer
journalctl -u xxx.timer
Dependency failed for xxx.service
常见于:
Requires= / After= 的服务没启动✅ 查看:
systemctl list-dependencies xxx.service
在 CentOS 中,rpm 有:
%triggerin%triggerun%triggerpostun失败原因:
systemctl 路径问题)✅ 查看:
rpm -q --scripts package_name
journalctl -xe
例如 USB 插入触发脚本失败:
原因:
✅ 检查:
udevadm control --reload
udevadm trigger
journalctl -u systemd-udevd
| 原因 | 表现 |
|---|---|
| 权限不足 | Permission denied |
| 脚本返回非 0 | trigger 直接失败 |
| 配置不存在 | 无任何动作 |
| SELinux | 静默失败 |
| CentOS 版本差异 | 7 / 8 / Stream 行为不同 |
你可以补充:
我可以直接帮你精确定位 ✅