












针对有问题的plist文件,从StandardOutPath对应的文件查看启动失败记录。针对二进制启动文件和命令行启动失败两类问题进行了修复。
对于第一类,通常把执行文件改为绝对路径即可解决,否则去查询一下该文件的执行权限问题。
对于第二类,通常是脚本启动或者命令行启动中环境变量传递失败,最省心的方式是通过bash包裹,在plist中手动注入环境变量,以避免pnpm,python等自定义变量的传递失败问题。(当然,如果全局变量更新了,这里可能也要手动更新。因此注入的环境变量最好仅与服务相关)
第二类的标准的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>login.comfyui</string>
<key>ProgramArguments</key>
<array>
<!--这里通过bash包裹,避免环境变量传递失败-->
<string>/bin/bash</string>
<string>-c</string>
<!--注意&的转义-->
<string>cd /Users/mgt/comfyui/login && source login/bin/activate && python auth_service.py --preview-method auto</string>
</array>
<key>WorkingDirectory</key>
<string>/Users/mgt/comfyui/login</string>
<!--环境变量-->
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>这里填入`echo $PATH`的结果(去掉最后一个:)</string>
<key>HOME</key>
<string>/Users/mgt</string>
<key>USER</key>
<string>mgt</string>
</dict>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<dict>
<key>NetworkState</key>
<true/>
</dict>
<key>StandardOutPath</key>
<string>/Users/mgt/comfyui/login.log</string>
<key>StandardErrorPath</key>
<string>/Users/mgt/comfyui/login.error</string>
</dict>
</plist>
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。