当前位置:  开发笔记 > 后端 > 正文

launchd状态78是什么意思?为什么我的用户代理没有运行?

如何解决《launchd状态78是什么意思?为什么我的用户代理没有运行?》经验,为你挑选了3个好方法。

我想在登录时运行在后台运行的同步同步服务.但我的代理人的状态代码是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工具,它可以帮助检测错误和故障排除.



1> Aaron Shen..:

我看了man launchctl,找到78个意思function not implemented.它没有多大帮助.

最后我让它工作,实际上plist中有错误,我建议安装brew cask install launchcontrol,这是一个用于launchctl的gui工具,它可以帮助检测错误和故障排除.


谢谢你.launchcontrol帮助解决了我的问题.为了记录我有状态78,我的问题是我的脚本没有以翻译e,g开头; `#!/ bin中/ sh`
对我来说,问题是当前用户无法访问日志目录。

2> Brian McCall..:

我发现错误与权限有关.我试图将错误和日志重定向到/var/log我的用户无法写入的目录.将路径更改为我的用户对r + w具有适当权限的内容.

另外,加载LaunchAgent时要小心.如果您在〜/ Library/LaunchAgents目录中,请不要使用sudo加载plist.



3> broofa..:

[也谈到这个问题,所以记录我发现的东西]

"78"是您正在运行的作业的最后退出代码.来自man launchctl:

如果没有参数,请列出在三列中加载到launchd中的所有作业.第一列显示作业的PID,如果它正在运行. 第二列显示作业的最后退出状态.如果此列中的数字为负数,则表示停止作业的信号的负数.因此," - 15"表示该作业已被SIGTERM终止.第三列是作业的标签.如果指定了[标签],则打印有关所请求作业的信息.

即,您需要阅读文档(或源代码)以了解您正在开始的任何工作.(就我而言,mysqld)

值得注意的是,"78"被提及作为Linux上的标准退出代码,表示配置错误.那么看看你的工作配置(和错误日志?),看看你是否有错误的配置.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有