Назад | Перейти на главную страницу

Программа Ruby запускается с консоли, но выходит из строя из сценария службы и оболочки

Я разработчик. У меня есть программа на Ruby, и я должен запустить ее как демон.

Эта программа имеет сценарий оболочки

#!/bin/bash
dir=$(pwd)
while sleep 60
do
    if pgrep -fa bin/bot >/dev/null
    then
        echo 'works'
    else
     pkill -f bin/bot
        ruby $dir/bin/bot >> $dir/logs/bot.log 2>&1 &!
    fi

    if pgrep -fa mongod >/dev/null
    then
        echo 'mongo works'
    else
        mongod --fork --logpath /var/log/mongod.log
    fi
done

Я не автор. Исправляю рубиновый скрипт.

Если я запускаю в консоли из правой папки

ruby $dir/bin/bot >> $dir/logs/bot.log 2>&1 &!

Скрипт работает.

Когда я использую сценарий оболочки в службе, у меня работает mongo, но мой процесс ruby ​​не работает. Зачем?