【发布时间】:2013-10-25 21:24:41
【问题描述】:
升级到 Mavericks,现在 launchd / Lingon 无法启动 Ruby 脚本。我将文件设置为可执行(使用 chmod +x),并将第一行设置为
#!/usr/bin/ruby
但是,我在控制台中不断收到以下错误:
com.apple.launchd.peruser.501[169] (craig.logging[754]): Exited with code: 1
这是一个权限错误,但我不知道要修复或更改哪些权限。该脚本在带有 ruby 的终端中运行良好。
这让我发疯了。
更新:导致问题的 Ruby 脚本将其输出写入另一个文件,例如我的 Dropbox。但是我以具有管理员权限来写入这些文件的身份运行启动文件。不知道出了什么问题...]
更新 2:已经开始使用 Applescript 来启动终端并运行我的脚本,但这非常笨拙和不优雅。其他人对为什么launchd不会运行将其输出写入文件的脚本有任何见解吗?或者是否有人在脚本方面取得了成功?
更新 3:由于编码问题而触发了故障。我必须专门设置 file.open(path/to/file, encoding: 'UTF-8') 才能使脚本正常工作。
谢谢大家。
【问题讨论】:
-
你试过diskutil repairPermissions /
-
是的——没有改变错误。
-
在我的 LaunchDaemon 工作之前,我必须运行 repairPermissions 并重新启动机器
-
它是否将其输出写入另一个文件?
-
确实如此。在只有系统级权限的目录中
标签: ruby terminal osx-mavericks