为什么LaunchAgents无法运行我的Automator应用?

时间:2018-12-19 03:04:17

标签: macos plist automator launchd

我想每5分钟运行一次通过Automator创建的应用程序,因此我将以下 com.user.wilson.plist 文件放置在此文件夹中:

  

/ Library / LaunchAgents

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.user.wilson</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/open</string>
        <string>-a</string>
        <string>/Users/paul/Documents/Wilson/Script/mt-wilson-background_app</string>
    </array>
   <key>StartInterval</key>
   <integer>300</integer>
</dict>
</plist>

然后,我在终端中使用以下命令将其加载:

launchctl load Library/LaunchAgents/com.user.wilson.plist

但是由于某些原因,该应用程序永远无法运行。

但是,我可以使用以下命令成功运行该应用程序:

/usr/bin/open -a /Users/paul/Documents/Wilson/Script/mt-wilson-background_app

有什么想法为什么.plist文件无法达到我的期望?

1 个答案:

答案 0 :(得分:0)

为了查看出了什么问题,您可以像这样在您的plist中添加一个日志文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.user.wilson</string>
    <key>StandardErrorPath</key>
    <string>/Users/paul/Documents/Wilson/Script/err.log</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/open</string>
        <string>-a</string>
        <string>/Users/paul/Documents/Wilson/Script/mt-wilson-background_app</string>
    </array>
   <key>StartInterval</key>
   <integer>300</integer>
</dict>
</plist>

注意:要使修改生效,请再次卸载并加载:

launchctl unload Library/LaunchAgents/com.user.wilson.plist
launchctl load Library/LaunchAgents/com.user.wilson.plist

通常,如果err.log说找不到您的应用,则表示这是权限问题。

我建议您尝试将您的应用程序从/Users/paul/Documents/Wilson/Script/mt-wilson-background_app移至/Users/paul/Documents/mt-wilson-background_app

然后相应地更新您的plist,卸载并重新加载plist,现在效果更好吗?