писал суда но смысла не нашел...
http://www.opennet.me/openforum/vsluhforumID10/519.htmlЗадача проста:
есть самоджельный демон который переодически запускает некоторые баш скрипты, а также он при своем запуске запускает разу два баш скрипта.
Демон должен работать постоянно, если он по какий-то причине вылетает то должен запустится заново.Автоматически запуск в случае падения прописан в /etc/inittab
x2:12345:respawn:/usr/local/bin/mydaemonЕсли случается что демон вылетил, то он поднимается автоматом init'ом
Вот только загвоздка в том что init пускает деиона 6-ть раз и каждый его эксземпляр начинает выполняться и сразу запускает те 2 баш скрипта которые он должен запустить.Вот и получается что после респавна запущенно 6 демонов и 12 скриптов, а по задумке должно быть всего 2 скрипта.
Я понимаю то что init запускает 6 демонов в благих целях, но мне не нужно чтобы все эти 6ть деонов синхронно начали работать, достаточно одного из них.Кстати раньше это демон был простой программой которая также запускалась init'ом и все было нормально
Как и что нужно переделать в демоне чтобы при многократном запуске работал только один из из многозапущенных?
>писал суда но смысла не нашел...
>http://www.opennet.me/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 и проверять его на наличие, а сигналами контролировать "живой" демон или нет, при падении постараться этот файл удавить. Если на С/++ делал, то там не особо трудно это сварганить, а на шелле повозишься.
>
>Как и что нужно переделать в демоне чтобы при многократном запуске работал
>только один из из многозапущенных?