Sobes.tech
Junior — Middle

Który z sygnałów SIGTERM lub SIGKILL może spowodować pojawienie się procesu zombie w systemie?

sobes.tech AI

Odpowiedź od AI

Sygnał SIGTERM może prowadzić do pojawienia się procesu zombie, jeśli proces nadrzędny nie obsłuży poprawnie zakończenia procesu potomnego i nie wywoła wait(), aby zwolnić zasoby.

Sygnał SIGKILL (w pytaniu jest literówka SIGSKILL) natychmiast kończy proces bez możliwości przechwycenia lub obsługi, ale jądro automatycznie czyści wszystkie zasoby procesu, a zombie nie pozostaje.

W związku z tym, procesy zombie pojawiają się, gdy proces zakończył się (np. po SIGTERM), ale proces nadrzędny nie wywołał wait() w celu uzyskania statusu zakończenia. SIGKILL nie powoduje zombie, ponieważ proces kończy się wymuszenie i jest natychmiast usuwany z tabeli procesów.