Вот простой способ сделать это с помощью SysVInit. Инструкции:
-
Создайте сценарий запуска и остановки вашего приложения. Поместите его в какой-нибудь каталог, в нашем примере это:
- Запуск скрипта:
/usr/local/bin/myapp-start.sh
- Остановить сценарий:
/usr/local/bin/myapp-stop.sh
Каждый из них будет содержать инструкции по запуску / остановке приложения. Например, в
myapp-start.sh
содержание может быть таким же простым, как следующее:#!/bin/bashjava -jar myapp.jar
Для сценария остановки это может быть что-то вроде этого:
#!/bin/bash# Grabs and kill a process from the pidlist that has the word myapppid=`ps aux | grep myapp | awk '{print $2}'`kill -9 $pid
- Запуск скрипта:
-
Создайте следующий сценарий (
myscript
) и наденьте его на/etc/init.d
./etc/init.d/myscript
содержание:#!/bin/bash# MyApp## description: bla blacase $1 in start) /bin/bash /usr/local/bin/myapp-start.sh ;; stop) /bin/bash /usr/local/bin/myapp-stop.sh ;; restart) /bin/bash /usr/local/bin/myapp-stop.sh /bin/bash /usr/local/bin/myapp-start.sh ;;esacexit 0
-
Поместите скрипт для запуска в системе (используя SysV). Просто выполните следующую команду (как корень):
update-rc.d myscript defaults
PS: Я знаю, что Upstart - это здорово и бла-бла-бла, но я предпочитаю старую систему инициализации SysV.