У меня есть служба, которая называется service C. Она имеет следующие условия запуска и остановки:
start on ( started A and started B)
stop on (stopping A or stopping B)
Когда я вручную останавливаю A, C останавливается. Однако, когда я запускаю A, C не запускается, пока я не остановился и не начал B также.
Я хочу, чтобы C запускался всякий раз, когда A и B оба работают, и вышеуказанные условия не достигают этого. Любые идеи о том, как должны выглядеть начальные условия?
Спасибо!
Измените начальный раздел на 'или' следующим образом:
start on ( started A or started B )
Затем добавьте сценарий предварительного запуска, который проверяет, работают ли обе службы, и прервите запуск, если они нет. Примерно так:
pre-start script
if [ -z `status A | grep running` ] || [ -z `status B | grep running` ]; then
stop ; exit 0
fi
end script
См. Раздел «Предварительный запуск» в кулинарной книге . Возможно, есть лучший способ проверить, работает ли служба, но это работает для меня. Адаптируйся под свои нужды.