【问题标题】:LaunchAgent opening FileMaker scriptLaunchAgent 打开 FileMaker 脚本
【发布时间】:2012-02-18 08:55:30
【问题描述】:

我在 OS X 10.4.11 上使用 launchd 获得类似 cron 的 FileMaker 脚本调度,这真是太棒了。 (我在serverfault 上描述了我的早期工作。)起初我认为问题在于 FileMaker 脚本打开了一个 GUI,这对于 LaunchDaemon 来说似乎是禁止的。然后我把它改成了一个 LaunchAgent,它允许使用窗口资源,但仍然不行。

这里列出了一些没有意义的事情:

  1. 如果您在手动加载后使用 launchctl 启动任务,则一切正常。

    sudo launchctl start my.script.name

  2. 如果您选择未来几分钟(而不是未来几个小时)的 StartInterval,然后加载 .plist,一切正常。 (起初我以为这可能与屏幕保护程序有关——当 ss 执行时,某些东西会被垃圾收集或其他东西;但如果即使在 ss 启动之后也安排了它,它似乎也能工作,只要它不是未来太远了。)

  3. 我将 FileMaker 程序的调用封装在一个 shell 脚本中,该脚本除了执行 FileMaker 程序之外,还将时间戳写入日志文件。通过阅读这个日志文件,我可以验证,是的,shell 脚本确实是由 launchd 在适当的时间调用的。或者至少,几乎,因为:

  4. 日志显示一些奇怪的东西:如果我安排在晚上 8:08 启动脚本,我会执行两次,彼此相隔几秒钟:

    [2012 年 1 月 24 日星期二 20:07:57 CST] 正在执行脚本!

    [2012 年 1 月 24 日星期二 20:08:00 CST] 正在执行脚本!

我已经走到了尽头——我已经阅读了相关的联机帮助页、Apple 技术文档以及 StackExchange 网站上的其他文章。我真的尽我所能完成了我的功课。任何可以帮助我的人都会有一些严重的因果报应。

再说一次,这里的 .plist 有一些杂乱无章的内容(XML 定义、日志信息)被编辑掉了。 (请记住,这在手动加载时有效,所以我知道 plist 本身没问题。)

<plist version="1.0">
<dict>
    <key>Label</key>
    <string>shane.useragent.launcher</string>
    <key>ProgramArguments</key>
    <array>
            <string>/Users/shane/launchFM.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
            <key>Hour</key>
            <integer>20</integer>
            <key>Minute</key>
            <integer>8</integer>
    </dict>
</dict>
</plist>

【问题讨论】:

  • 一些想法: 1:当您编写脚本时,FileMaker 是否正忙于做其他事情而没有响应? 2:您要编写脚本的数据库是否仍然打开,如果打开,它是否仍然是 FileMaker 中的活动数据库? 3:您是否尝试过使用 iCal 警报实现自动化? 4:您的 FileMaker 设置是什么? FM 专业版/高级版?调频服务器?共享文件?单用户文件?
  • 感谢您的回复。 #1:不;可能的例外是多次启动导致它自己中断并因此搞砸了。我会考虑的。 #2:运行脚本使相应的数据库处于活动状态。 #3:我没有,但它可能会这样。我想以 Apple 祝福的方式做事,但很快就失去了耐心。 #4:调频专业版。至于其余的,我不确定。在没有其他人运行任何基于 FM 的东西的情况下,您是否会期望在这些不同的情况下出现不同的行为?
  • #4:如果没有其他人在运行 FM,那么通常不会。

标签: macos filemaker launchd launch-agent


【解决方案1】:

你必须为此使用launchd吗?

我使用内置的 Cron 工具(通过CronniX GUI 打开本地 FileMaker 文件,然后在我们的 FileMaker 服务器上运行脚本。

【讨论】:

    猜你喜欢
    • 2020-06-05
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 2020-02-28
    • 2016-09-22
    • 2021-01-17
    相关资源
    最近更新 更多