- Как в родителе дождаться окончания всех потомков???, XMan, 19:12 , 14-Авг-03 (1)
while (wait(-1,0,0) != -1);? Можно еще вот так: do{ while (wait(-1,0,0) != -1); } while (errno == EINTR); Это чтобы перехватывать всякие сигналы. "man wait"
- Как в родителе дождаться окончания всех потомков???, Bizon, 15:32 , 15-Авг-03 (2)
>while (wait(-1,0,0) != -1); > >? > >Можно еще вот так: > >do{ while (wait(-1,0,0) != -1); } while (errno == EINTR); > >Это чтобы перехватывать всякие сигналы. > >"man wait" Спасибо большое!!очень помогло!! теперь усложним задачу:)))))) как ждать завершения ВСЕХ потомков определённое время??
- Как в родителе дождаться окончания всех потомков???, XMan, 16:24 , 15-Авг-03 (3)
Чего-то я в прошлый раз намудрил - у wait всего один парамерт. Это у waitpid их три :)Ты ман читал ? Там же по-английски/русски написано: "Функция wait приостанавливает выполнение текущего процесса до тех пор, пока дочерний процесс не завершится, или до появления сигнала, который либо завершает текущий процесс, либо требует вызвать функцию-обработчик." А теперь смотри в сторону сигнала SIGALRM м его обработчика, устанавливаемого с помощью "signal(...,...)". А чтобы всё это работало - "man alarm" и впихиваешь его прямо в обработчик сигнала SIGALRM. Теоретически так :)
|