升级到 Mavericks,现在启动/Lingon 无法启动 Ruby 脚本。我将文件设置为可执行文件(使用 chmod +x),并将第一行设置为
#!/usr/bin/ruby
但是,我在控制台中不断收到以下错误:
com.apple.launchd.peruser.501[169] (craig.logging[754]): Exited with code: 1
这是一个权限错误,但我不知道要修复或更改什么权限。该脚本在带有 ruby 的终端中运行良好。
这让我抓狂。
更新:导致问题的 Ruby 脚本将它们的输出写入另一个文件,例如,在我的 Dropbox 中。但是我以我自己的身份运行 launchd 文件,我自己拥有写入这些文件的管理员权限。不知道出了什么问题...]
更新 2:已开始使用 Applescript 启动终端并运行我的脚本,但这非常笨拙且不够优雅。其他任何人都知道为什么 launchd 不会运行将输出写入文件的脚本?或者有人成功地使用了脚本吗?
更新 3:由于编码问题触发了故障。我必须专门设置 file.open(path/to/file, encoding: 'UTF-8') 才能使脚本正常工作。
谢谢大家
最佳答案
我在 Mavericks box 上遇到了同样的问题,其中有几个 Ruby 脚本我设置为以不同的时间间隔运行。我发现虽然这台升级了操作系统的机器出现故障,但我的新 MacBook Pro 随 Mavericks 一起提供,可以安排相同的脚本关闭 launchd
就好了。我最终删除机器并从头开始重新安装 Mavericks(以及其他一切),然后安排脚本开始工作。
我知道这不是最微妙的答案,但 Worked For Me™。
关于ruby - 将 Launchd 与 Mavericks 和 Ruby 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19599664/