Очень странное поведение при запуске демонов Ruby из скрипта bash при загрузке - PullRequest
0 голосов
/ 31 июля 2009

Я использую Rightscale для запуска экземпляра на Amazon EC2. Все мои загрузочные скрипты отлично работают и делают такие вещи, как приведенные ниже имена файлов в папках. Последний загрузочный скрипт выглядит следующим образом:

#!/bin/bash

MAINDIR="/root/username/"    

ruby ${MAINDIR}insertfd_control.rb stop
ruby ${MAINDIR}insertfd_control.rb start
ruby ${MAINDIR}inserttk_control.rb stop
ruby ${MAINDIR}inserttk_control.rb start

Я хочу использовать его для запуска своих демонов, которые я написал в Ruby. Он запускается как загрузочный скрипт без каких-либо ошибок, но когда я вхожу через ssh, я вижу, что они не были запущены. Затем я запускаю вышеуказанный скрипт вручную, и они запускаются. Почему они не начинаются с загрузочного скрипта?

Я нашел следующий пост: http://blog.angelbob.com/posts/124, но я не уверен, что он уместен.

1 Ответ

1 голос
/ 31 июля 2009

Я нашел ответ из-за ссылки на этот пост в блоге. Скрипт управления Ruby должен иметь абсолютный путь к скрипту.

, например

#!/usr/bin/env ruby

require 'rubygems'
require 'daemons'

options = {
  :app_name   => "inserttk",
  :log_output => true,
  :monitor    => true
}

Daemons.run('/root/username/inserttk.rb', options)
...