Страница 1 из 1

Proccess running PID:

Добавлено: Ср окт 20, 2010 5:49 am
Ivanko
Переехал с 0.4x на 0.5x и стал наблюдать письма от крона на каждый запуск billd с этой фразой (неграмотная, кстати. process с одной буквой "с", и напрашивается запятая перед pid)
Это оно зачем и как это отключить?
Посмотрел в код:

Код: Выделить всё

my $pid = $pids[0];
if(verify($pid)) {
    print "Proccess running PID: $pid\n";
      return 1;
}
ничего умнее, чем прописать return 0 не придумал.

ps. версия - current позавчерашний.

Re: Proccess running PID:

Добавлено: Пн окт 25, 2010 11:41 am
~AsmodeuS~
У вас очень долго обрабатывается billd не знаю с чем связано возможно скидка сессий зависает или еще чтото, а елси они как раньше будут по два три запускаться начинается путаница.

Запустите его с консоли чтобы проверить что так тормозит его

спасибо за исправление

Re: Proccess running PID:

Добавлено: Чт окт 28, 2010 5:56 am
Ivanko
Разобрался, почему оно получается.
По крону запускается billd -all раз в пять минут и billd checkmpd5 раз в две минуты.
Разумеется, раз в десять минут они запускаются одновременно. Время работы каждого в пределах 0.75-1.2 секунды.
Выключил проверку mpd5, так как, вроде он справляется с контролем сессий самостоятельно. По крайней мере двое суток полёт нормальный.
Раньше был expppd с соответствующей проверкой - подобной ругани не было. Хотя стояла 0.4x версия.

Re: Proccess running PID:

Добавлено: Пт апр 22, 2011 9:27 am
Ivanko
Подыму ещё разок эту тему в качестве предупреждения, что отключать проверку сессий в mpd5 не следует. Получается следующее: если задизэйблить клиента и даже сбросить ему сессию в веб-интерфейсе, то соединение в mpd продолжает существовать и работать до тех пор, пока клиент сам не отвалится. При этом траффик, разумеется, не считается и в мониторинге он не отображается.

Поэтому для медленных серверов проще вписать sleep на пару-тройку секунд перед вызовом billd checkmpd5.

PS. грамотности ради:

Код: Выделить всё

print "Process is already running with PID=$pid\n";
или даже более информативнее:

Код: Выделить всё

print "billd is already running as process $pid\n";
и выше и ниже:

Код: Выделить всё

# Checking if program is running
вместо
# Check running program

Re: Proccess running PID:

Добавлено: Пт апр 22, 2011 11:59 am
sopov
Вобще, если правильно настроено управление mpd из биллинга, такого быть не должно. Как только сбрасываете сессию по hungup, она сразу должна сбрасываться на брасе. Единствнное что может возникать при отсутствии

Код: Выделить всё

/usr/abills/libexec/billd checkmpd NAS_IDS=
на брасе, это когда вы отправляете сессю в zap и система пытается назначить ip этого клиента кому-то другому. Но с этим, по идее, должен справляться billd, т.к. алайвы будут продолжать поступать. Исключением являются внештатные аварийные ситуации, когда падает целый район например. Но и в этом случае по сигналу lcp, vpd должна выполнить скрипт linkupdown и завершить сессию на биллинге. Вобщем, что с чеком, что без него разницы особой незаметил - все работает нормально.