ruby - 将 Launchd 与 Mavericks 和 Ruby 一起使用

标签 ruby terminal osx-mavericks

升级到 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/

相关文章:

ruby-on-rails - Rspec Controller 基础测试

c++ - 如何在 Mac 上自动获取 C++ 程序的异常类型和消息?

python - 如何更改 Visual Studio Code 中的解释器?

python - 使用 Mac OS X Mavericks (10.9.1) 安装 Pillow

macos - 如何在 OSX Mavericks 上呈现 ViewControllerAsSheet?

Eclipse Kepler 无法在 OS X 10.9.1 上打开

ruby 需要相关文件

ruby-on-rails - 重写 Devise Invitable `invite!` 方法以将附件添加到邀请电子邮件 - Rails

linux - 如何在 Linux 终端中运行 "Dot 1"文件

Ruby:代码 "updgrading"从 1.8.6 到 1.9.2