在 Ubuntu(或 Linux 一般语境)里,“trigger 不触发”通常出现在 systemd 或 udev 场景中。下面按常见情况帮你排查。
systemctl trigger / .trigger / 路径触发)trigger 依赖的 unit 没有 enable:
systemctl enable your-unit.service
否则重启或 trigger 都不会生效。
path 单元但文件未变化*.path 单元只在文件发生变化时触发:
systemctl status your-path.path
测试:
touch /watched/file
systemctl is-enabled your-unit.service
如果是 masked:
systemctl unmask your-unit.service
如:
After= / Requires= 失败ConditionPathExists= 不存在WantedBy= 目标未启动查看原因:
journalctl -u your-unit.service
udevadm trigger)检查:
udevadm control --reload
udevadm trigger
规则示例问题:
SUBSYSTEM 写错ACTION 不匹配调试:
udevadm monitor
修改 udev 规则后必须:
sudo udevadm control --reload-rules
systemctl status cron
crontab -l
注意:
如果你能告诉我:
我可以直接帮你定位“为什么不触发”。