У меня чертовски много времени, чтобы заставить java-программу правильно запускаться в сценарии инициализации с помощью start-stop-daemon. . Я написал сценарий инициализации, и кажется, что он запускается, но после него никогда не возникает процесс, представляющий запущенную программу.
Вот фрагмент моего скрипта инициализации
#! /bin/sh
#
#
DAEMON="/usr/bin/java"
DAEMON_ARGS="-server -cp <bunch of RMI arguments and classpath stuff> -jar <absolute path>/myprog.jar"
PIDFILE="/var/run/myprog.pid"
case "$1" in
start)
echo -n "Starting myprog"
start-stop-daemon --start --pidfile "$PIDFILE" --chuid "myuser" --verbose --background --make-pidfile --startas "$DAEMON" -- $DAEMON_ARGS
echo "."
;;
Когда я пытаюсь запустить его через /etc/init.d, я получаю следующее:
/etc/init.d# /etc/init.d/myscript start
Запуск myprogStarting /usr/bin/java...
Отключение для запуска /usr/bin/java... готово.
.
После этого не запускается процесс интерпретатора Java, выполняющий myprog.jar
Я пробовал различные комбинации --exec, --start с более или менее одинаковыми результатами. Если бы я мог получить больше информации о том, что происходит, я уверен, что смог бы понять это, но я не уверен, как это сделать.
Есть предложения?
(Я запускаю Angstrom на встроенной платформе ARM, поэтому Java Service Wrapper на самом деле не является жизнеспособным вариантом, т.е. я не думаю, что он доступен для ARM)
Я застрял, поэтому любой совет будет действительно ценится.
Спасибо.