macos – 当launchctl无法运行或加载plist时是否有任何条件?

有时我发现触发命令根本不会加载应用程序.这种情况很少发生,但是有任何已知的条件或情况会导致此命令失败吗?有没有办法调试launchctl?

launchctl load /Library/LaunchAgents/com.xyz.plist

plist的内容是:

<dict>
<key>Label</key>
<string>com.xyz</string>
<key>ProgramArguments</key>
<array>
    <string>/Applications/xyz.app/Contents/MacOS/xyz</string>
</array>
<key>EnvironmentVariables</key>
<dict>
    <key>OPT</key>
    <string>xyz</string>
</dict>
<key>ExitTimeOut</key>
<integer>10</integer>
<key>KeepAlive</key>
<dict>
    <key>SuccessfulExit</key>
    <false/>
</dict>
<key>RunAtLoad</key>
<true/>
<key>EnableTransactions</key>
<false/>

launchctl dumpstate显示STATE = WAITING.为什么?

任何帮助都会很明显.

最佳答案 根据您的OS X版本(突破点是10.10,显然)我挖出了一堆资源,可以帮助您以某种方式调试它.

> http://obscuredclarity.blogspot.ca/2011/02/debugging-launchd-configuration-on-mac.html

>将launcdctr日志级别设置为debug

sudo launchctl log level debug (debug, info, notice, warning, error, critical, alert, emergency)

>尾随system.log

tail -f /var/log/system.log

>将launcdctr日志级别设置回错误

sudo launchctl log level error

> https://apple.stackexchange.com/questions/169404/set-launchd-log-level

>导致… https://github.com/Homebrew/homebrew/issues/33259

另外……取决于你的硬件…我在这里不是在开玩笑……“你试过把它关掉再打开吗?”我遇到了糟糕的Mac服务器机器,这些机器只是通过随机错误而毁掉你的一天,这些错误会在重新启动时神奇地消失.

点赞