Запуск процесса при запуске

Извините, если это небольшой вопрос, я не очень разбираюсь в Ubuntu и Linux в целом.

Я хочу обновить сервер приложений с JBoss EAP 5 до Jboss EAP 6, ранее мы разослали клиентам инструкции по запуску JBoss EAP 5 при запуске, поэтому я собираюсь сделать то же самое для JBoss EAP 6. Я ' Мы заставили его работать одним способом, добавив следующую строку в /etc/rc.local:

sh /opt/jboss-eap-6.1/bin/domain.sh

Хотя из того, что я читал, это не совсем рекомендуемый подход. Из того, что я могу понять, подход, который мы использовали для JBoss 5, включал размещение символической ссылки в каталогах инициализации уровня выполнения (например, /etc/rc2.d/), которые ссылались на другой скрипт в /etc/init.d для запуска службы.

Я пробовал это для JBoss 6.1, и, хотя я вручную запускаю процесс с «sh /etc/rc2.d/S01jboss6.1», JBoss начинает работать, этот процесс не запускается сам по себе при запуске.

Полагаю, я прав, думая, что Ubuntu запускается на уровне выполнения 2, поэтому разве этот сценарий в /etc/rc2.d/ не должен запускаться при загрузке ОС?

Спасибо .

2
задан 23 January 2014 в 15:47

1 ответ

Я не знаю JBoss. Ваш сценарий один выстрел или он продолжает работать? Для сервисов, которые находятся на переднем плане (на терминале) и продолжают работать, вы можете написать выскочивший сервис, подобный следующему. Если это один выстрел или порождает процесс демона, вам нужно отредактировать стартовый скрипт ниже, иначе выскочка не сможет контролировать процесс или попытается выполнить его несколько раз.

Сценарий должен быть исполняемым и находиться в /etc/init/myscript.conf. Затем создайте символическую ссылку из /etc/init.d/myscript на / lib / init / upstart-job

ln -s /lib/init/upstart-job /etc/init.d/myscript

. Вы можете запустить свой скрипт следующим образом: service myscript start

description     "myscript"
author          "you"

start on (local-filesystems and net-device-up)
stop on runlevel [!2345]

kill timeout 50

respawn
respawn limit 1 5

env USER="user"
env PIDFILE="/var/run/myscript.pid"
env DAEMON="path/to/script"

pre-start script
  do smothing
end script

# starting ...
exec start-stop-daemon --start --chuid $USER --pidfile $PIDFILE --make-pidfile --exec $DAEMON -- all my options 2>&1 >> /var/log/my.log

pre-stop script
        do something
        sleep 2
end script

# spring clean
post-stop exec rm -f $PIDFILE

Для получения дополнительной информации см .: http://upstart.ubuntu.com/cookbook/

.
0
ответ дан 23 January 2014 в 15:47

Другие вопросы по тегам:

Похожие вопросы: