The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Защита от вылета процесса"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Защита от вылета процесса"  +/
Сообщение от Михаил email(??) on 30-Ноя-09, 11:50 
Здравствуйте!
Помогите, пожалуйста, разобраться с проблемой!

Есть сервер FreeBSD и на нем запущено несколько практически одинаковых программ (4 штуки - различие только в адресе отсылки), которые берут определенные файлы из папки и посылают на удаленный сервер для обработки. В какой-то момент один из этих процессов начал вылетать (периодичность ~неделя) со следующим сообщением в логе:

kernel: pid 62435 (processname), uid 0: exited on signal 10

man говорит, что 10-й сигнал - это bus error.
Что бы это могло быть?

И еще.

Есть ли возможность написать скриптик, который, допустим, при появлении записи в логе (либо при вылете самой программы) запускал её заново?

Спасибо!

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Защита от вылета процесса"  +/
Сообщение от аноним on 30-Ноя-09, 12:04 
>man говорит, что 10-й сигнал - это bus error.
>Что бы это могло быть?

Может быть что угодно. Если хотите разобраться, пересоберите программу с отладочными опциями и после падения натравите gdb на корку.

>Есть ли возможность написать скриптик, который, допустим, при появлении записи в логе
>(либо при вылете самой программы) запускал её заново?

/usr/ports/sysutils/daemontools

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Защита от вылета процесса"  +/
Сообщение от SubGun (ok) on 30-Ноя-09, 13:29 
Проверяйте на существование PID'ы процессов
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Защита от вылета процесса"  +/
Сообщение от Amator email(ok) on 30-Ноя-09, 14:49 
>Есть ли возможность написать скриптик, который, допустим, при появлении записи в логе
>(либо при вылете самой программы) запускал её заново?
>
>Спасибо!

Ну можно так:

runner.sh:

#!/bin/sh

while true
do
    logger 'My program crashed and restarted.'
    sleep 10
    /path/to/your/program
done

и потом

$ screen -AmdS name_of_screen ./runner.sh

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Защита от вылета процесса"  +/
Сообщение от Ingoa on 30-Ноя-09, 17:05 
>
>Есть ли возможность написать скриптик, который, допустим, при появлении записи в логе
>(либо при вылете самой программы) запускал её заново?

Port:   monit-5.0.3
Path:   /usr/ports/sysutils/monit
Info:   Unix system management and monitoring
Maint:  martinp@tildeslash.com
WWW:    http://www.tildeslash.com/monit/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру