URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 74794
[ Назад ]

Исходное сообщение
"dvb watchdog"

Отправлено stakado , 21-Июн-07 04:04 
Драсте!
Есть Мандрива 2007.0, на ней поднят инет через спутниковую тарелку. Сделано это с помощью dvb-apps, взятого с linuxtv.org. Сигнал не очень хороший и когда погода заметно портится то тарелка разтюнивается. Следовательно надо сделать некий вотчдог, который будет мониторить тарелку и когда она разтюнилась тюнить её обратно. Далее вопросы:
1. Каким образом лучше держать этот вотчдог? Я придумал тока вариант через крон, с запуском раз в минуту или 5 минут (смотря как сильно он потреблять будет).
2. Мониторить наличие сигнала можно: с помощью dvbtraffic (когда тарелка разтюнилась он молчит) или с помощью tcpdump (на и-фейс тарелки сыпется куча левых пакетов, если он молчит - значит тарелка упала). Может есть какой вариант лучше?
3. Есть ли у tcpdump'a или dvbtraffic'a параметры указывающие им закончить работу через Н секунд?
4. Попробовал вариант: запускаем dvbtraffic в фоновом режиме с редиректом вывода в файл (./dvbtraffic > dvbtraffic.dump&), потом ждем секунду (sleep 1), потом убиваем процесс. И тут возникла проблема: когда я убиваю процесс вылетаем весь скрипт. Можно ли запустить dvbtraffic/tcpdump отдельно? Или сделать как-нить так, чтобы скрипт не вылетал при убивании процесса, запущенного в этом скрипте?
5. Может быть я вообще не туда рою и есть принципиально другой способ решения данной задачи?

Заранее благодарен.


Содержание

Сообщения в этом обсуждении
"dvb watchdog"
Отправлено stakado , 21-Июн-07 10:17 
>Драсте!
>Есть Мандрива 2007.0, на ней поднят инет через спутниковую тарелку. Сделано это
>с помощью dvb-apps, взятого с linuxtv.org. Сигнал не очень хороший и
>когда погода заметно портится то тарелка разтюнивается. Следовательно надо сделать некий
>вотчдог, который будет мониторить тарелку и когда она разтюнилась тюнить её
>обратно. Далее вопросы:
>1. Каким образом лучше держать этот вотчдог? Я придумал тока вариант через
>крон, с запуском раз в минуту или 5 минут (смотря как
>сильно он потреблять будет).
>2. Мониторить наличие сигнала можно: с помощью dvbtraffic (когда тарелка разтюнилась он
>молчит) или с помощью tcpdump (на и-фейс тарелки сыпется куча левых
>пакетов, если он молчит - значит тарелка упала). Может есть какой
>вариант лучше?
>3. Есть ли у tcpdump'a или dvbtraffic'a параметры указывающие им закончить работу
>через Н секунд?
>4. Попробовал вариант: запускаем dvbtraffic в фоновом режиме с редиректом вывода в файл (./dvbtraffic > dvbtraffic.dump&), потом ждем секунду (sleep 1), потом убиваем процесс. И тут возникла проблема: когда я убиваю процесс вылетаем весь скрипт. Можно ли запустить dvbtraffic/tcpdump отдельно? Или сделать как-нить так, чтобы скрипт не вылетал при убивании процесса, запущенного в этом скрипте?
>5. Может быть я вообще не туда рою и есть принципиально другой
>способ решения данной задачи?
>
>Заранее благодарен.


Решил проблему таким образом:
строку "./dvbtraffic > dvbtraffic.dump&" засунул в отдельный скрипт. Из текущего скрипта вызываю новосозданный, потом убиваю dvbtraffic и ничего не вылетает.

Но всё же метод решения, выбранный мной, мне не очень нравится. Не подскажете как грамотней сие реализовать?