-2

Я пытаюсь получить файл .jar для запуска при запуске на машине с Ubuntu, но я ничего не получаю. Я попробовал инструкции здесь https://askubuntu.com/questions/99232/how-to-make-a-jar-file-run-on-startup-and-when-you-log-out , и я ' Мы пытались использовать информацию с сайта Upstart и кулинарной книги, но они не сработали. Я попробовал как старый SysV, так и новый подход Upstart, но ни один из них не запускает .jar при запуске системы.

Вот скрипт оболочки, который запускает .jar

#!/bin/bash

java -jar TransformationServer.jar

Файл для подхода запуска SysV

#!/bin/bash
# Transformation Server
# 
# Description: Transforms incoming messages on a given port and forwards them

case $1 in
    start)
        /bin/bash /usr/local/bin/ServerStart.sh
    ;;
    stop)
        /bin/bash /usr/local/bin/ServerStop.sh
    ;;
    restart)
        /bin/bash /usr/local/bin/ServerStop.sh
        /bin/bash /usr/local/bin/ServerStart.sh
    ;;
esac
exit 0

UpStart подход

# transformationserver - transforms incoming http messages, and redirects them
#
# This service intercepts incoming http messages on a given port, and
# transforms them into an acceptable format in order to be received
# by a 3rd party service

start on runlevel [345]
stop on runlevel [!2345]

respawn

script
    exec /bin/bash /home/ubuntu/TransformationServer/ServerStart.sh
    # Also trying the below as well
    #exec /bin/java -jar /home/ubuntu/TransformationServer/TransformationServer.jar
end-script

Может ли кто-нибудь с большим опытом использования любого из этих подходов просмотреть мои файлы здесь и потенциально указать мне правильное направление с этим? Эта услуга необходима для того, чтобы система наших компаний могла успешно получать сообщения от одного из наших клиентов.

Заранее спасибо.

1 ответ1

1

Как насчет использования crontab?

Как пользователь, которому вы хотите запустить jar, запустите:

crontab -e

Добавьте строку:

@reboot /path/to/your/ServerStart.sh

Сохрани это. Это сделает так, что когда сервер перезагрузится после перезагрузки, он запустит ваш скрипт оболочки.

Это ваш crontab, вы можете узнать все об этом с помощью man crontab или на странице Википедии: https://en.wikipedia.org/wiki/Cron

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .