如何用Python程序替换launchd调度

时间:2010-02-11 12:07:37

标签: python macos launchd

Mac OS X系统启动程序launchd启用作业调度(类似于 cron 。)通过创建 launchd 代理,可以通过一个启动程序以下事件:

  • 已经过了一段时间
  • 某个日历日期已经到来
  • 文件路径已被修改
  • 已将某些内容放入某个目录(队列目录)
  • 已安装卷

我以前依靠launchd来启动一系列Python脚本来自动化OS X系统。但是,由于添加新脚本通常还需要安装新的启动代理才能启动它,因此我想将 launchd 排除在外。 Python程序应该等待并观察上面发生的事件,然后调度相应的例程。

是否有适合检测上述事件的Python模块?或者,作为一个更一般的问题,如何使用Python(以及可能通过AppScript桥接器的AppleScript)在此设置中替换 launchd ?对不起,如果问题相当含糊。阅读建议也很受欢迎。

1 个答案:

答案 0 :(得分:1)

对于文件系统监控问题,您可能正在寻找pyfsevents。根据{{​​3}},

  

FSEvents API会通知您的应用程序   当文件系统发生更改时。   您可以使用文件系统事件   监视任何更改的目录,   例如创建,修改或   删除包含的文件和   目录。