Назад к вопросам
Yadro
Middle+
4
Что такое зомби-процесс?
Компании, где спрашивали
Ответ от нейросети
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() для дочерних процессов.