macos - 为什么 LaunchAgents 不能运行我的 Automator 应用程序?
问题描述
我想每 5 分钟运行一次我通过 Automator 创建的应用程序,因此我将以下com.user.wilson.plist文件放在此文件夹中:
/图书馆/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 文件不会做我期望的事情?
解决方案
为了查看发生了什么问题,您可以在 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,它现在工作得更好了吗?