The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как организовать структуру демона для тупой задачи?"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как организовать структуру демона для тупой задачи?"
Сообщение от Lorky emailИскать по авторуВ закладки on 14-Мрт-03, 13:45  (MSK)
писал суда но смысла не нашел...
http://www.opennet.ru/openforum/vsluhforumID10/519.html

Задача проста:
есть самоджельный демон который переодически запускает некоторые баш скрипты, а также он при своем запуске запускает разу два баш скрипта.
Демон должен работать постоянно, если он по какий-то причине вылетает то должен запустится заново.

Автоматически запуск в случае падения прописан в /etc/inittab
x2:12345:respawn:/usr/local/bin/mydaemon

Если случается что демон вылетил, то он поднимается автоматом init'ом
Вот только загвоздка в том что init пускает деиона 6-ть раз и каждый его эксземпляр начинает выполняться и сразу запускает те 2 баш скрипта которые он должен запустить.

Вот и получается что после респавна запущенно 6 демонов и 12 скриптов, а по задумке должно быть всего 2 скрипта.
Я понимаю то что init запускает 6 демонов в благих целях, но мне не нужно чтобы все эти 6ть деонов синхронно начали работать, достаточно одного из них.

Кстати раньше это демон был простой программой которая также запускалась init'ом и все было нормально

Как и что нужно переделать в демоне чтобы при многократном запуске работал только один из из многозапущенных?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "Как организовать структуру демона для тупой задачи?"
Сообщение от Арлекин emailИскать по авторуВ закладки on 14-Мрт-03, 16:21  (MSK)
>писал суда но смысла не нашел...
>http://www.opennet.ru/openforum/vsluhforumID10/519.html
>
>Задача проста:
>есть самоджельный демон который переодически запускает некоторые баш скрипты, а также он
>при своем запуске запускает разу два баш скрипта.
>Демон должен работать постоянно, если он по какий-то причине вылетает то должен
>запустится заново.
>
>Автоматически запуск в случае падения прописан в /etc/inittab
>x2:12345:respawn:/usr/local/bin/mydaemon
respawn - ждет пока программа закончится
>Если случается что демон вылетил, то он поднимается автоматом init'ом
>Вот только загвоздка в том что init пускает деиона 6-ть раз и
>каждый его эксземпляр начинает выполняться и сразу запускает те 2 баш
>скрипта которые он должен запустить.
>
>Вот и получается что после респавна запущенно 6 демонов и 12 скриптов,
>а по задумке должно быть всего 2 скрипта.
>Я понимаю то что init запускает 6 демонов в благих целях, но
>мне не нужно чтобы все эти 6ть деонов синхронно начали работать,
>достаточно одного из них.
>
>Кстати раньше это демон был простой программой которая также запускалась init'ом и
>все было нормально
А чем у тебя демон отличается от ТОЙ программы ? Если только тем, что в фоновом режиме запускается (&) - тогда играйся actions в записях /etc/inittab.  
А вообще, есть "правило хорошего тона" для демонов - создавать где-нить в /var/tmp файло с pid и проверять его на наличие, а сигналами контролировать "живой" демон или нет, при падении постараться этот файл удавить. Если на С/++ делал, то там не особо трудно это сварганить, а на шелле повозишься.
>
>Как и что нужно переделать в демоне чтобы при многократном запуске работал
>только один из из многозапущенных?


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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