Sobes.tech
Назад к вопросам
Middle+
4

Что такое зомби-процесс?

Компании, где спрашивали
YadroYadro

Ответ от нейросети

sobes.tech AI

Зомби-процесс — это процесс в операционной системе, который завершился, но его родительский процесс ещё не вызвал системный вызов wait() для получения статуса завершения. В результате процесс остаётся в таблице процессов как "зомби" и занимает слот, хотя уже не выполняется.

В Go, как и в других языках, если вы запускаете внешние процессы через os/exec и не вызываете Wait(), то дочерние процессы могут стать зомби.

Пример:

cmd := exec.Command("sleep", "1")
err := cmd.Start()
if err != nil {
    log.Fatal(err)
}
// Если не вызвать cmd.Wait(), процесс может остаться зомби
// cmd.Wait() // нужно вызвать, чтобы избежать зомби

Чтобы избежать зомби-процессов, всегда вызывайте Wait() после Start() для дочерних процессов.