The OpenNET Project / Index page

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

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

"демон - время делу ))"
Сообщение от Alexey Искать по авторуВ закладки on 24-Июн-03, 16:08  (MSK)
Народ, подскажите путь, при помощи чего или как сделать чтобы мой демон через каждые 5 минут делал дело? например при помощи перехвата прерывания или еще какието способы есть?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "демон - время делу ))"
Сообщение от Parish Искать по авторуВ закладки on 24-Июн-03, 16:16  (MSK)
for(;;){
sleep(5);
delo();
}
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "демон - время делу ))"
Сообщение от Alexey Искать по авторуВ закладки on 24-Июн-03, 16:24  (MSK)
гм )) это точно )) пора в отпуск )))... ну а еще есть варианты или это самый рациональный?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "демон - время делу ))"
Сообщение от Olej emailИскать по авторуВ закладки on 24-Июн-03, 17:29  (MSK)
>гм )) это точно )) пора в отпуск )))... ну а еще
>есть варианты или это самый рациональный?

1. Их ... миллион ... всё от потребностей зависит.
2. Но самые простые, без изысков, способы - будут все: использовать службу времени, как показано выше или напр.так:

while( true ) alarm( 5 );
- а обработчик SIGALARM ... делает дело.

Или ещё проще, делают: единичеый alarm( 5 ), а последующие взводятся прямо в обработчике...


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

4. "демон - время делу ))"
Сообщение от Alexey Искать по авторуВ закладки on 24-Июн-03, 17:51  (MSK)
ок, спасибо.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "демон - время делу ))"
Сообщение от XMan Искать по авторуВ закладки on 24-Июн-03, 18:37  (MSK)
Только стоит уточнить - не sleep(5) или alarm(5), а sleep(300) или alarm(300). Нужно же каждые "5 минут" :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "демон - время делу ))"
Сообщение от SalieFF emailИскать по авторуВ закладки on 10-Июл-03, 16:09  (MSK)
>>гм )) это точно )) пора в отпуск )))... ну а еще
>>есть варианты или это самый рациональный?
>
>1. Их ... миллион ... всё от потребностей зависит.
>2. Но самые простые, без изысков, способы - будут все: использовать службу
>времени, как показано выше или напр.так:
>
>while( true ) alarm( 5 );
>- а обработчик SIGALARM ... делает дело.
>
>Или ещё проще, делают: единичеый alarm( 5 ), а последующие взводятся прямо
>в обработчике...
Вообще в линуховых доках по сигнальным обработчикам не рекоммендуецца в эти самые обработчики ничего, кроме атомарных операций совать (типа приравнивания или инкремента переменной, к примеру). А уж если параллельно юзаюцца треды, то не тока не рекоммендуецца, а прямо-таки запрещаецца ;)

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

7. "демон - время делу ))"
Сообщение от USE emailИскать по авторуВ закладки on 20-Июл-03, 15:25  (MSK)
Нельзя использовать setitimer совместно с sleep, приведет к неправильной работе. Почему ?! Читайте документацию.
Лучше не использовать такого демона, который висит ничего не делая целых пять минут, и только пару минут работает, для этого используйте at или cron, так будет правильнее.
А ежели вы используете timer и делаете ДЕЛО в обработчике сигнала, то таймер на время обработки нужно деактивировать, чтобы избежать получения от него сигнала во время ДЕЛА. А так же задуматься, что демон будет делать, пока он сигнал не получил, ведь sleep с таймером работать не будет. (вернее будет, но таймер работать будет очень неправильно)
Советую:

man at; man cron; man crontab; man sleep; man setitimer;

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


Удалить

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




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

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