2013-10-25 2 views
6

Обновление до Mavericks и теперь запуск/Lingon не может запускать скрипты Ruby. Я файлы установлены исполняемые (используя CHMOD + х), и первые строки устанавливают вИспользование Launchd с Mavericks и Ruby

#!/usr/bin/ruby 

Тем не менее, я получаю следующее сообщение об ошибке в консоли:

com.apple.launchd.peruser.501[169] (craig.logging[754]): Exited with code: 1 

Это является ошибка разрешения, но я понятия не имею, какие разрешения исправлять или изменять. Скрипт отлично работает в терминале с рубином.

Это сводит меня с ума.

Обновление: скрипты Ruby, которые вызывают проблему, записывают их вывод в другой файл, например, в моем Dropbox. Но я запускаю файлы запуска как сам, у кого есть права администратора для записи в эти файлы. Не знаю, что пойдет не так ...]

Обновление 2: Приступаем к использованию Applescript для запуска терминала и запуска моих сценариев, но это довольно неуклюжий и неэлегантный. У кого-нибудь еще есть понимание того, почему launchddd не запускает скрипты, которые записывают их вывод в файлы? Или кто-то имеет успех со сценариями, которые делают?

Обновление 3: Неисправности вызывались из-за проблем с кодированием. Я должен был специально установить file.open (путь/в/файл, кодирование: «UTF-8») для работы скриптов.

Спасибо всем.

+0

Вы пробовали ремонт diskutilПермификации/ – Jon

+0

Yep-не изменили эту ошибку. – craigeley

+0

Мне пришлось запустить repairPermissions и перезагрузить машину, прежде чем мой LaunchDaemon работал – Jon

ответ

1

У меня была такая же проблема на коробке Mavericks с несколькими скриптами Ruby, которые я установил для запуска с различными интервалами. Я обнаружил, что, хотя эта машина, у которой была обновлена ​​ОС, терпела неудачу, мой новый MacBook Pro, поставляемый с Mavericks, мог запланировать те же скрипты с launchd просто отлично. Я закончил тем, что стирал машину и переустанавливал Mavericks (и все остальное) с нуля, а затем планировал запуск скриптов.

Не самый тонкий ответ, я знаю, но работающий для меня.

1

Я все еще не совсем уверен, почему, но ошибки разрешений были вызваны из-за проблем с кодировкой. Я должен был специально сделать это:

File.open(path/to/file, encoding: 'UTF-8')  

для скриптов для работы.

Спасибо всем за помощь.

Смежные вопросы