выскочка респаун с двумя дочерними процессами

У меня есть скрипт выскочки, подобный так:

start on runlevel [2345]
respawn

script
  exec su - ubuntu -c "cd /opt/app; bin/widget 2>&1 | logger -t 'widget'"
end script

Проблема в том, что когда происходит сбой процесса виджета, он не возрождается. Предположительно, потому что процесс регистрации все еще работает. Есть ли способ обойти это?

2
задан 12 October 2011 в 09:33

1 ответ

Я бы "передал" работу на скрипт bash:

start on runlevel [2345]
respawn

script
  exec /path/to/bash/script
end script

скрипт

#! /bin/bash -e

su - ubuntu -c "cd /opt/app; bin/widget" |& logger -t 'widget'

exit ${PIPESTATUS[0]}

Массив PIPESTATUS в bash хранит возвращаемые значения канала, в этом случае мы используем возвращаемое значение команды su.

0
ответ дан 12 October 2011 в 09:33

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

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