Не может запустить init скрипт на начальной загрузке после другого init сценария

У меня есть три init сценария, и Брокер init сценарий хорошо работает, но когда я пытаюсь выполнить Потребителя init сценарий и затем Программа сбора данных init сценарий, единственный процесс, который работает, является Брокером.

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

Я могу запустить скрипты от терминала, и они хорошо работают, но они должны все быть запущены на начальной загрузке.

Какие-либо идеи относительно того, почему мои другие сценарии не работают?

Также в моем Потребителе и Программе сбора данных я работаю:

su user1 -c 'java -jar foo.jar'

запустить сервисы.

Также Потребительский класс Java сидит и ждет сообщения от очереди, таким образом, код Java не останавливается, пока я не указываю аргумент остановки в пользу init сценария. Брокер должен запустить сначала, затем Потребитель, затем Программа сбора данных.

Добавление символьных ссылок для runlevels:

sudo update-rc.d Broker defaults 10 90
sudo update-rc.d Consumer defaults 15 85
sudo update-rc.d DataCollector defaults 20 80
0
задан 12 June 2012 в 23:10

2 ответа

Я получил его на работу. Я сделал Broker фоновым процессом, потому что он постоянно работает, пока я не выключу компьютер или не вызову скрипт с параметром shutdown. Я также сделал Потребителя фоновым процессом.

Скрипт инициализации брокера

su user1 -c 'qpid-server &'

Скрипт инициации клиента

su user1 -c 'java -jar foo.jar &'
0
ответ дан 12 June 2012 в 23:10

Похоже, команда java никогда не завершается, и, следовательно, остальные сценарии инициализации не запускаются. Попробуйте что-то вроде:

 nohup su user1 -c 'java -jar foo.jar' &

, и я думаю, вы обнаружите, что остальная часть последовательности запуска init будет работать.

0
ответ дан 12 June 2012 в 23:10

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

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