Boot-Repair Ubuntu 12.04.3, оставив SecureBoot включенным

Ответ Джеймса работает от 1 до 1 зависимости. Для от 1 до многих, то есть чтобы убедиться, что служба A запускается перед службами B, C и D, вам нужно использовать другой подход. Вы можете посмотреть текущие сценарии portmap для справки, но вот общий подход: создать сценарий ожидания.

Сценарий: вы хотите, чтобы ваша служба A всегда запускалась до службы-b, службы-c и службы -d.

Решение: создать сценарий ожидания для службы A. Назовите его «/etc/init/service-a-wait.conf"

# service-a-wait

start on (starting service-b 
    or starting service-c
    or starting service-d)
stop on (started service-a or stopped service-a)

# We know that we have more than one job that needs to wait for service-a and
# will make use of this service, so we need to instantiate.
instance $JOB

# Needed to make starting the job successful despite being killed
normal exit 2
task

script

    status service-a | grep -q "start/running" && exit 0
    start service-a || true

    # Waiting forever is ok.. upstart will kill this job when
    # the service-a we tried to start above either starts or stops
    while sleep 3600 ; do :; done

end script

То, что это означает на простом английском языке: когда сигналы службы b, c или d, которые они хотят запустить, они должны ждать, пока не запустится служба-a. Запуск службы-ожидания предназначен для запуска до тех пор, пока не начнется сервис-а. После завершения обслуживания-ожидания, теперь службы b, c и d могут свободно выполняться и выполняться.

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

Примечание: строка «экземпляр $ JOB» важна в этом сценарии «начать ... ... или ..». В противном случае вы действительно блокируете только то, что из B, C или D срабатывает сперва.

(экземпляр заслуживает лучшего объяснения честно, а теперь просто сделайте это.;)

1
задан 19 December 2013 в 16:01

0 ответов

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

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