使用Launchd与Mavericks和Ruby

cra*_*ley 6 ruby terminal osx-mavericks

升级到Mavericks并且现在已经启动/ Lingon无法启动Ruby脚本.我将文件设置为可执行文件(使用chmod + x),并将第一行设置为

#!/usr/bin/ruby
Run Code Online (Sandbox Code Playgroud)

但是,我在控制台中不断收到以下错误:

com.apple.launchd.peruser.501[169] (craig.logging[754]): Exited with code: 1
Run Code Online (Sandbox Code Playgroud)

这是一个权限错误,但我不知道修复或更改的权限.该脚本在带有ruby的终端中运行良好.

这让我疯了.

更新:导致问题的Ruby脚本将其输出写入另一个文件,例如,在我的Dropbox中.但我正在运行launchd文件,因为我自己拥有管理员权限来写入这些文件.不知道出了什么问题......]

更新2:已经开始使用Applescript启动终端并运行我的脚本,但这非常笨拙和不优雅.其他任何人都知道为什么launchd不会运行将输出写入文件的脚本?或者是否有人成功使用脚本?

更新3:由于编码问题导致故障被触发.我必须专门设置file.open(path/to/file,encoding:'UTF-8')才能使脚本正常工作.

感谢大家.

小智 1

我在 Mavericks 机器上遇到了同样的问题,其中有几个 Ruby 脚本,我设置为以不同的时间间隔运行。我发现虽然这台升级了操作系统的机器出现了故障,但我的配备 Mavericks 的新 MacBook Pro 可以launchd很好地安排相同的脚本。我最终擦除了机器并从头开始重新安装 Mavericks(以及其他所有东西),然后安排脚本开始工作。

\n\n

我知道,这不是最微妙的答案,但为我工作\xe2\x84\xa2。

\n