[devel] shell programming

Денис Смирнов mithraen на freesource.info
Пт Янв 21 10:01:56 UTC 2011


Задача -- выполнить некоторую функцию в shell-скрипте, и если вдруг эта
функция выполняется больше 5-и секунд -- прибить ее нафиг и выполнить
другую. Как это сделать?

Дело в том что у меня проблема -- астериск на одной системе у меня
частично дедлочится. Запустил скрипт, который тестирует его на живучесть,
и если сдох -- делает coredump и убивает астериск (его потом daemontools
сам перезапускает).

Но по информации из coredump найти точно виновника сложно (ибо многие
треды по разным причинам держат какие-либо локи). А астериска есть
встроенная диагностика для локов, но когда астериск дедлочится с некоторой
вероятностью может залочиться и на обращении к нему за этой информацией.

Все это происходит на машине, на которой если после дедлока он не оживет
через 10 секунд мне оторвут голову :)

Единственное решение которое вижу -- это попытаться спросить всю
отладочную информацию у астериска, а если эта попытка залочилась --
прибить и ее, и астериск.

А с учетом того что для астериска 1.8 судя по багтрекеру дедлочиться это
вообще нормальное явление, я бы хотел сделать это решение по самоотладке
еще и дистрибутивным :)

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20110121/607b3caa/attachment.bin>


Подробная информация о списке рассылки Devel