ОС: Centos 5.7
Сценарий моего приложения начинается так (/etc/init.d/myapp):
#!/bin/sh
# chkconfig 2345 85 60
# description: my application controller
# processname: myapp
NAME=MyApp
DIR=/opt/myapp/
RUN_AS=root
### BEGIN INIT INFO
# Provides: myapp
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Starts the myapp application
### END INIT INFO
Статус Chkconfig
chkconfig --list | grep myapp
myapp 0:off 1:off 2:on 3:on 4:on 5:on 6:off
myapp принимает начало | стоп | перезапустить | принудительная перезагрузка, и все они проверены на работу
Контроллер myapp в основном должен запускать некоторые службы демонов для приложения. Если я сбегу service myapp start
после перезагрузки системы все работает нормально. Но по какой-то причине chkconfig не запускает его автоматически. Может ли кто-нибудь объяснить, что я делаю не так?
ОБНОВИТЬ:
Благодаря информации cjc, похоже, что мой контроллер приложения загружается до некоторых необходимых служб, таких как mysql.
Вот результат быстрого поиска:
find /etc -name rc* -type d | xargs ls | grep myapp
K50myapp
K50myapp
S50myapp
S50myapp
S50myapp
S50myapp
K50myapp
Итак, почему порядок установлен на 50, когда в сценарии я установил 85 (начало) 60 (стоп)? И как я могу это изменить?
Решение (как указано cjc в комментариях к его ответу)
Неправильный синтаксис:
# chkconfig 2345 85 60
Правильно (после chkconfig необходимо двоеточие):
# chkconfig: 2345 85 60
chkconfig по существу создает символическую ссылку, скажем, из /etc/rc3.d/S85myapp на /etc/init.d/myapp. Убедитесь, что эти ссылки существуют. Я предполагаю, что это так, поскольку "chkconfig --list" показывает, что они включены.
Поскольку вы можете выполнить /etc/init.d/myapp из приглашения, но это не происходит во время запуска, я предполагаю, что есть проблема с PATH или что служба, которая вам нужна и запускается перед выполнением myapp, на самом деле инициализация после myapp. Помните, что сценарии в /etc/rc3.d (или на любом другом вашем начальном уровне выполнения) выполняются в порядке сортировки. Убедитесь, что в myapp есть все необходимое для работы.
(Я предполагаю, что есть проблема с PATH)