The OpenNET Project / Index page

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

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

"Зомби" 
Сообщение от Guest Искать по авторуВ закладки(??) on 05-Мрт-05, 23:53  (MSK)
Есть прога вида
....
while(1) {
int acc=accept(...);
if(acc>0) {

if(fork()==0) {some_function(acc);}
   }
}

Так вот.Когда процесс обслужит клиента,он должен вырубится.Ессно после этого
висит зомби - ps aux выдает <defunct> на неумерших чайлдов.Напомните или киньте ссылку плз как обрабатывать waitpid'om чайлдов чтоб зомби не оставались

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

 Оглавление

  • Зомби, ACCA, 09:37 , 06-Мрт-05, (1)  
    • Зомби, Guest, 13:53 , 06-Мрт-05, (2)  
      • Зомби, ACCA, 06:53 , 07-Мрт-05, (3)  
        • Зомби, rgo, 06:23 , 15-Мрт-05, (4)  
    • Зомби, NewComer, 10:19 , 15-Мрт-05, (5)  
      • Зомби, Dead Mustdie, 10:25 , 15-Мрт-05, (6)  

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

1. "Зомби" 
Сообщение от ACCA Искать по авторуВ закладки(ok) on 06-Мрт-05, 09:37  (MSK)
>висит зомби - ps aux выдает <defunct> на неумерших чайлдов.Напомните или киньте ссылку плз как обрабатывать waitpid'om чайлдов чтоб зомби не оставались


man wait

просто вызови

wait(NULL);

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

2. "Зомби" 
Сообщение от Guest Искать по авторуВ закладки(??) on 06-Мрт-05, 13:53  (MSK)

>man wait
>
>просто вызови
>
>wait(NULL);


А не подскажете где вызвать wait?
if(fork()==0) {
function();
wait(NULL);
}
Так?

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

3. "Зомби" 
Сообщение от ACCA Искать по авторуВ закладки(ok) on 07-Мрт-05, 06:53  (MSK)
>А не подскажете где вызвать wait?

IMHO перед exit или return из main - нормальное место.

Более общий ответ - это вопрос вкуса, где ты будешь ждать окончания работы потомков. Не бойся экспериментировать.

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

4. "Зомби" 
Сообщение от rgo Искать по авторуВ закладки on 15-Мрт-05, 06:23  (MSK)
А ещё вопрос в догонку. А как уже существующих зомбей из списка процессов доубить? А то, бывает, забудешь про чайлда, он висит зомбёй --- раздражает.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Зомби" 
Сообщение от NewComer emailИскать по авторуВ закладки on 15-Мрт-05, 10:19  (MSK)
>>висит зомби - ps aux выдает <defunct> на неумерших чайлдов.Напомните или киньте ссылку плз как обрабатывать waitpid'om чайлдов чтоб зомби не оставались

Проблема детей-зомбей решается следующим образом: надо сказать родительскому процессу, чтобы он сигналы SIGCHLD игнорировал.


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

6. "Зомби" 
Сообщение от Dead Mustdie emailИскать по авторуВ закладки on 15-Мрт-05, 10:25  (MSK)
>Проблема детей-зомбей решается следующим образом: надо
>сказать родительскому процессу, чтобы он сигналы
>SIGCHLD игнорировал.

Смотря где. Сие непортабельно.

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


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

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




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

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