Форум — Development [linux] как асинхронно мониторить состояние дочерних процессов? linux 0 1 Сабж. Кроме SIGCHILD есть способы? Ссылка
Если что, есть signalfd.В общем, я решил свою проблему, надо было больше спать и лучше читать маны.Правда, остаются сомнения что SIGCHILD можно продолбать... true_admin ★★★★★ (14.10.11 13:12:20 MSK) автор топика Ссылка
Не, туплю. wait3() отображает данные только по последнему мёртвому child, т.е. можно продолбать смерть процесса если они дохнут пачками.Как обычно выходят из этой ситуации? true_admin ★★★★★ (14.10.11 13:15:11 MSK) автор топика Показать ответы Ссылка
Ответ на: комментарий от true_admin 14.10.11 13:15:11 MSK Так, туплю ещё раз :). Похоже дело было в питоне который меня обхитрил. true_admin ★★★★★ (14.10.11 13:19:54 MSK) автор топика Ссылка
Ответ на: комментарий от true_admin 14.10.11 13:15:11 MSK Как обычно выходят из этой ситуации?waitpid(-1,&status,WNOHANG)когда любой из дочерних умрет, его exitcode будет прочитан. no-dashi ★★★★★ (14.10.11 13:24:24 MSK) Показать ответ Ссылка
Ответ на: комментарий от no-dashi 14.10.11 13:24:24 MSK угу, спасибо. Так и сделал. true_admin ★★★★★ (14.10.11 13:45:17 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от true_admin 14.10.11 13:45:17 MSK Вроде чтобы не продолбать, надо когда SIGCHLD приходит делать в цикле waitpid до тех пор пока не будет ENOCHILD. ratatosk ★ (14.10.11 15:48:34 MSK) Показать ответы Ссылка
Ответ на: комментарий от ratatosk 14.10.11 15:48:34 MSK Пардон, либо до тех пор, пока не вернется 0. ratatosk ★ (14.10.11 15:49:27 MSK) Ссылка
Ответ на: комментарий от ratatosk 14.10.11 15:48:34 MSK Да, спасибо. Просто упустил этот момент и поэтому зашёл в тупик. true_admin ★★★★★ (14.10.11 16:16:45 MSK) автор топика Ссылка