LINUX.ORG.RU

fork&zombie


0

0
В ниже приведенном фрагменте программы fork используется для создания процесса, в котором выполняется перемещение файла. ...code... child_proc=fork(); if (child_proc == 0) { /* FORKED PART */ time(&current_time); sprintf(mv_file_log, "%s/%s.%d", output_work, file, current_time); rename(file, mv_file_log); _exit(0); } ...code... При этом через некоторое время некоторые порожденные процессы падают в zombie, число которых со временем растет. В чем может быть проблема?
anonymous
отлавливать нужно завершение потомков при помощи wait/waitpid, а то они не знают кому состояние завершения возвращать
Z0termaNN
()
#include <signal.h>
#include <sys/wait.h>

void fireman(void);

tra-la-la ...(tvoi kod)

signal(SIGCHLD,fireman);

tra-la-la ... (opiat kod)

void fireman(){
union wait wstatus;
while (wait3(&wstatus,WNOHANG,NULL)>0);
}
na "warning: passing arg 2 of `signal' from incompatible pointer type" mozhno zabit
babai
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.