Как руби файлом, запустить другой руби файл? (linux)

Привет

По крону запускаю rb файл, который проверять состояние флага.

Флаг это текстовый файл где первая строка 0 или 1
Если значение флага 1 то нужно запустить другой rb файл для работы.(в отдельном окне терминала я так полагаю)

Как это сделать?

Понимаю что можно написать на bash, но хочется средствами ruby

PS. Нашел вот такую команду, но она не работает

do shell script «ruby pro.rb»
  • Вопрос задан
  • 3021 просмотр
Пригласить эксперта
Ответы на вопрос 6
int03e
@int03e
system("/path/to/other/file.rb")
Ответ написан
Комментировать
@edelweard
Проверьте, что путь к Руби тоже абсолютный. К примеру, лучше написать вот так:
system("/opt/local/bin/ruby /path/to/other/file.rb")
или же добавить шебанг в начало второго руби файла и сделать его исполняемым:
#!/opt/local/bin/ruby
И тогда можно system(«path/to/other/file.rb»)
Ответ написан
@antivir
Ответ написан
Комментировать
delaf
@delaf Автор вопроса
спасибо… вроде так и делаю, но…

если файл 1.rb запустить ручками то он запускает файл 2.rb

но, если я его запускаю через крон, то он выполняется, но там где строки system/exec — не срабатывает,
и соот-но не запускает 2.rb.

Причем в процессах 1.rb видно что запустился

Каким будут мысли по этому поводу? Почему так происходит?
Ответ написан
stas_agarkov
@stas_agarkov
Я программист
Смотрите /var/log/syslog для изучения логов crontab.
Ответ написан
Комментировать
@edelweard
А вообще-то зачем вам запускать ruby-файл как исполняемый? Почему бы просто не подключить его в основном (require) и не вызвать нужный метод, когда надо?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы