URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8370
[ Назад ]

Исходное сообщение
"ruby + программа + служба"

Отправлено Grave , 25-Июл-09 09:55 
Доброе время суток.
Для работы была написана програмка на ruby, которая стояла в автозапуске
ruby /var/www/main.rb&
и все работало, неделю назад все встало. Запустить её как службу не могу, только как консольное приложение, в файл свой лог она тоже писать перестала

при запуске, как указано выше, вроде как запускается, ошибок не выдает, ruby висит в процессах, но программа не исполняется.

Все счастье стоит на Ubuntu server и програмка выдергивает данные из mySQL больше ничего особенного на серваке не стоит.


Содержание

Сообщения в этом обсуждении
"ruby + программа + служба"
Отправлено angra , 26-Июл-09 07:41 
Телепаты в отпуске, бессрочном.


"ruby + программа + служба"
Отправлено Grave , 26-Июл-09 08:50 
>Телепаты в отпуске, бессрочном.

я знаю, что в отпуске, уже пытался с ними связаться. Мож подскажите куда копать? Я просто даже представить себе не могу, почему программа не запускается как служба....


"ruby + программа + служба"
Отправлено angra , 26-Июл-09 09:44 
Начните с объяснения, что вы подразумеваете под запуском "как служба", какие команды, какие ошибки. Верно ли выставлены владелец и права на log файл и директории в пути к нему, что будет если его удалить(переместить) дабы программа создала сама новый? Можно попытаться запустить под strace и посмотреть на результаты syscall при обращении к логу. Ну и наконец, если скрипт небольшой, то покажите его текст и описание того, что он должен делать.

"ruby + программа + служба"
Отправлено Grave , 26-Июл-09 12:09 
>Начните с объяснения, что вы подразумеваете под запуском "как служба", какие команды,
>какие ошибки.

Я имею ввиду работу в фоновом режиме, чтоб не надо было подключаться консолью и запускать руками и не за что консоль не закрывать.

>Верно ли выставлены владелец и права на log файл
>и директории в пути к нему, что будет если его удалить(переместить)
>дабы программа создала сама новый? Можно попытаться запустить под strace и
>посмотреть на результаты syscall при обращении к логу. Ну и наконец,
>если скрипт небольшой, то покажите его текст и описание того, что
>он должен делать.

Проверю все, когда буду на работе, но права на файл я выставлял



"ruby + программа + служба"
Отправлено angra , 26-Июл-09 12:20 
>Я имею ввиду работу в фоновом режиме, чтоб не надо было подключаться
>консолью и запускать руками и не за что консоль не закрывать.

Как именно вы этого пытаетесь добиться:
1. использование &
2. запуск через nohup
3. скрипт умный и сам умеет демонизироваться при передаче ему какого-то параметра
4. есть стартовый скрипт-обертка (чаще всего в /etc/init.d), который выполняет демонизацию
Еще могу упомянуть такую полезную программу как screen, среди кучи ее возможностей в данном случае важно умение справится с  "не за что консоль не закрывать", но в отличии от nohup screen позволит потом увидеть все сообщения от запущенной программы.