我正在尝试通过launchd查看目录以进行更改。我的plist 文件看起来像这样:
<key>ProgramArguments</key>
<array>
<string>/Users/myname/bin/boink</string>
<string>path modified</string>
</array>
所有这些都可行,但我想传递该文件的名称 被更改为脚本/ Users / myname / bin / boink
的参数这可能吗?手册页不是很有帮助,谷歌搜索也没有帮助。
感谢。
答案 0 :(得分:1)
简短的回答是:不。 launchd(8)
使用Kqueue(http://en.wikipedia.org/wiki/Kqueue)来接收此类通知。很遗憾,kqueue(2)
不会返回哪个项触发了该事件。
您可能希望使用launchd(8)
键QueueDirectories
代替。它的工作方式基本上与WatchPaths
的工作方式相同,但它假定处理代理程序/守护程序正在将处理的项目从受监视的目录移动到另一个目录。因此,每当触发事件时,您的作业都可以处理受监视目录中的每个文件。只需确保在处理后移动它们。