Титла: Zombie процеси - задържат ли ресурси? Публикувано от: programings в Apr 06, 2015, 23:44 Преглеждам статията в Wikipedia за Zombie process.
Около средата се твърди: "When a process ends via exit, all of the memory and resources associated with it are deallocated so they can be used by other processes." Ясно е, че след като child процесът прекрати съществуването си, алокираните му от ядрото ресурси се освобождават, но докато parent-а не повика wait() или пък не реагира на SIGCHLD сигнал, entry-то остава, като заема PID (или PID му става равно на 0, хм?), и се отчита от ядрото в process table-а. Въпросът е относно следното противоречие по-надолу в статията: "After the zombie is removed, its process identifier (PID) and entry in the process table can then be reused. However, if a parent fails to call wait, the zombie will be left in the process table, causing a resource leak." Какъв resource leak при все, че ресурсите са вече освободени? Титла: Re: Zombie процеси - задържат ли ресурси? Публикувано от: gat3way в Apr 07, 2015, 01:08 Ми task_struct-а сам по себе си е няколко килобайта, освен което не знам дали всичко към което в него се пазят указатели се освобождава.
|