upstart - сеть стартовых услуг

У меня есть следующие три службы: apache2, serviceFirst и serviceSecond.

Я хочу запустить serviceFirst, когда apache2 запущен и работает

Я хочу запустить serviceSecond, когда serviceFirst запущен и работает

файл /etc/init/serviceFirst.conf:

# Info
description "UDP server"
author "Reggie Williams"

# Events
start on apache2
stop on shutdown

# Automatically respawn
respawn
respawn limit 20 5

script 
     exec >/var/log/test.debug 2>&1 #so I can track when the service runs
     echo Gotcha...
    [ $(exec /usr/bin/php -f /var/www/server/udp/bin/serverrunner.php) = 'critical_error' ] && (stop; exit 1;)
end script

файл /etc/init/serviceSecond.conf:

# Info
description "UDP client"
author "Reggie Williams"

# Events
start on (started serviceFirst)
stop on shutdown

# Automatically respawn
respawn
respawn limit 20 5

script 
     exec >/var/log/test2.debug 2>&1 #so I can track when the service runs
     echo Gotcha2...
    [ $(exec /usr/bin/php -f /var/www/server/udp/bin/clientrunner.php) = 'critical_error' ] && (stop; exit 1;)
end script

Итак, в этих двух сервисах я запускаю свои скрипты. Кроме того, я создаю один файл для каждой службы и сохраняю их в /var/log.

Однако, когда я проверяю метки времени создания этих двух файлов, я вижу, что test.debug был создан позже, чем test2.debug.

Итак, мой вопрос: как это возможно и как сделать так, чтобы serviceSecond действительно запускалось после serviceFirst и apache?

1
задан 27 August 2015 в 12:46

1 ответ

Возможно, можно выполнить сервис от /etc/rc.local с &&

редактирование /etc/rc.local

sudo nano /etc/rc.local

и добавить, что команда

start service first && start service second

&& позволяет Вам сделать что-то на основе того, оценит ли предыдущая команда, завершенная успешно

, Чтобы быть более точно, &&, вторую эквивалентность выражения , которую первое выражение возвращает 0 .

0
ответ дан 27 August 2015 в 22:46

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

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