我想每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文件无法达到我的期望?
答案 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,现在效果更好吗?