手册中systemd.path
说“条件”可以组合,但没有说如何组合。
我猜这是一个逻辑“与”,如果你想做逻辑“或”,你应该使用多个path
触发同一目标。我对吗?
编辑:作为一个例子,我有一个一条路径由定时器触发一定时间后,它会触发A.服务那个空的a队列文件夹。
如果队列不为空时一条路径被触发了,我想要A.服务开始;
DirectoryNotEmpty
做这个。如果文件添加到队列在运行期间,我也希望它启动;
PathModified
监控文件的添加/删除,但仅在运行期间内进行,如果在运行期间之外添加文件,则不会触发该服务。
所以最后,我希望它能够运行队列启动时目录不为空,或者队列在运行期间被修改。
我怎样才能做到这一点?
答案1
在每个单独的条件之前使用垂直管道。
来自免费桌面手册页:
如果指定了多个条件,则如果所有条件都适用(即应用逻辑 AND),则将执行该单元。条件检查可以以管道符号 (|) 为前缀,在这种情况下,条件将成为触发条件。如果为一个单元定义了至少一个触发条件,那么如果至少一个触发条件适用并且所有非触发条件都满足,则该单元将被执行。