我有一个设置,其中一个systemd.path
单元监视特定文件:
[Unit]
Description=Watch config file for changes
[Path]
PathChanged=/path/to/my/config.file
[Install]
WantedBy=multi-user.target
其中.service
规范具有相同的文件名保存扩展名。
- 直到 之前
systemd 239-68.0.2
,创建 的临时副本config.file
、修改它并将mv
其重命名 () 回config.file
会触发.service
. - 有了
systemd 239-74.0.1
,就不再这样了。我必须在编辑器中显式打开它(例如nano
),但是服务已经被触发当我打开文件时,不仅是在保存或关闭时。什么做cp
工作是通过将临时文件复制 () 回 来覆盖文件config.file
。 PathChanged
无论使用或 ,行为都是相同的PathModified
。touch
使用文件来更新时间戳也不会触发该服务。
这种行为改变是有意为之吗?我怎样才能回到“旧”行为 - 这是我更喜欢的,因为通常一个脚本会对 执行多次更改config.file
,并且我不希望在每次修改时都触发该服务。
“手动”复制 ( cp
) 并删除临时文件当然是一种选择,但需要在多个位置进行更改,而我希望避免这种情况。