以下是我的帖子:
<plist version="1.0">
<dict>
<key>EnableGlobbing</key>
<true/>
<key>Label</key>
<string>com.system.osx</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>~/Library/.system/connect.sh</string>
</array>
<key>KeepAlive</key>
<true/>
<key>ResetAtClose</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>60</integer>
<key>AbandonProcessGroup</key>
<true/>
</dict>
</plist>
在我开始加载plist之前,我总是:
一个。 chmod 777 ~/Library/.system/connect.sh
B中。 chmod 777 ~/Library/LaunchAgents/com.system.osx.plist
℃。检查以确保我的脚本通过sh ~/Library/.system/connect.sh
工作,并且始终如此。
d。 launchctl load ~/Library/LaunchAgents/com.system.osx.plist
并且在加载plist之后,shell脚本不会运行,正如您在plist中看到的那样,我确保它首先运行/ bin / sh。
非常感谢任何帮助,最近我的问题在这里被忽略了。
更新
我已将~/Library/.system/connect.sh
更改为/ Users / MyUser / Library / .system / connect.sh`,但仍未运行shell脚本
答案 0 :(得分:1)
您需要脚本的完整路径。 用户域中启动代理的默认权限为644
更新:使用KeepAlive
和StartInterval
两个键都有问题。由于脚本应该每分钟运行一次,因此请删除KeepAlive
键和值
答案 1 :(得分:1)
如果您使用的是OSX Yosemite(10.10)或更新版本,即使~/
设置为EnableGlobbing
,也无法再使用<true/>
引用您的主目录。参考:https://apple.stackexchange.com/a/153149/15940
答案 2 :(得分:0)
我已经完成了这项工作,所以我只能假定您的plist文件包含错误或阻止其运行的选项。这是我的工作列表。
{{1}}
这两项在启动launchctl或登录后都可以立即使用。