Запуск пользовательской службы не работает в OLE6. Где я ошибаюсь?

#linux #rhel

#linux #rhel

Вопрос:

Я создал службу в /etc/init.d . Он вызывает другой файл сценария catalina.sh внутри него. Все начинается нормально с

./Service_name start

но когда я пытаюсь

service Имя_службы запуск

сценарий выполняется, но служба не запускается, вот соответствующая часть файла сценария

 start(){
    echo -n "Starting $VAR"
    PID="$(pgrep -f $VAR)"
    if [ "$PID" = "" ]
            then
            cd /home/com/Analytics/servers/$VAR/bin
            ./catalina.sh start >/dev/null
                    while [ $temp -lt $startime ]
                    do
                    sleep 5
                    echo -n " ."
                    temp=$(( $temp   5 ))
                    done
            echo -e "e[0;32m               [ OK ]  e[0m"
            else
            echo -e "e[0;31m                       [ FAILED ]  e[0m"
            echo -e "e[0;33m $VAR is already running.  e[0m"
    fi
  

}

Также я хотел бы упомянуть, что

service Service_name остановка

и

service Статус имя_службы

работает нормально.

Ответ №1:

На самом деле проблема заключалась в требовании bash для JAVA_HOME или JRE_HOME, когда catalina.sh вызывается как услуга.. Что было исправлено путем экспорта JAVA_HOME.

экспорт JAVA_HOME=path_to_jdk