我想在登录时运行在后台运行的同步同步服务.但我的代理人的状态代码是78
.我不知道为什么,我尝试了在线发布的一些修复,但它只是不起作用.
有什么问题??下面是我服务的plist文件.
Label syncmyproject StandardOutPath /var/log/syncmyproject.log StandardErrorPath /var/log/syncmyproject.log RunAtLoad KeepAlive Debug EnableGlobbing ProgramArguments /usr/local/bin/unison -auto -batch -repeat watch ~/home/project ~/project
Aaron Shen.. 42
我看了man launchctl
,找到78个意思function not implemented
.它没有多大帮助.
最后我让它工作,实际上plist中有错误,我建议安装brew cask install launchcontrol
,这是一个用于launchctl的gui工具,它可以帮助检测错误和故障排除.
我看了man launchctl
,找到78个意思function not implemented
.它没有多大帮助.
最后我让它工作,实际上plist中有错误,我建议安装brew cask install launchcontrol
,这是一个用于launchctl的gui工具,它可以帮助检测错误和故障排除.
我发现错误与权限有关.我试图将错误和日志重定向到/var/log
我的用户无法写入的目录.将路径更改为我的用户对r + w具有适当权限的内容.
另外,加载LaunchAgent时要小心.如果您在〜/ Library/LaunchAgents目录中,请不要使用sudo加载plist.
[也谈到这个问题,所以记录我发现的东西]
"78"是您正在运行的作业的最后退出代码.来自man launchctl
:
如果没有参数,请列出在三列中加载到launchd中的所有作业.第一列显示作业的PID,如果它正在运行. 第二列显示作业的最后退出状态.如果此列中的数字为负数,则表示停止作业的信号的负数.因此," - 15"表示该作业已被SIGTERM终止.第三列是作业的标签.如果指定了[标签],则打印有关所请求作业的信息.
即,您需要阅读文档(或源代码)以了解您正在开始的任何工作.(就我而言,mysqld)
值得注意的是,"78"被提及作为Linux上的标准退出代码,表示配置错误.那么看看你的工作配置(和错误日志?),看看你是否有错误的配置.