Sobes.tech
Junior — Middle

Кой от сигналите SIGTERM или SIGKILL може да доведе до появата на зомби-процес в системата?

sobes.tech AI

Отговор от AI

Сигналът SIGTERM може да доведе до появата на зомби-процес, ако родителският процес неправилно обработи завършването на дъщерния процес и не извика wait() за освобождаване на ресурсите.

Сигналът SIGKILL (който в въпроса е с правописна грешка като SIGSKILL) незабавно завършва процеса без възможност за прихващане или обработка, но ядрото автоматично почиства всички ресурси на процеса, и зомби не остава.

Така, зомби-процесите се появяват, когато процесът приключи (например след SIGTERM), но родителят не е извикал wait() за получаване на статуса на приключване. SIGKILL не води до зомби, тъй като процесът се приключва принудително и веднага се премахва от таблицата с процеси.