tgoop.com/go_interview_lib/309
Last Update:
💬 Что из себя представляют термины "zombie" и "orphan" в контексте операционной системы Linux?
Они описывают два различных состояния процессов:
1. Zombie process (зомби-процесс) — процесс, который завершил свое выполнение, но все еще присутствует в системе в качестве записи в таблице процессов. Это происходит потому, что процесс завершился, но его родительский процесс еще не вызвал системный вызов wait()
, который "собирает" статус завершения процесса-потомка.
Пока родитель не вызовет wait()
, зомби-процесс будет оставаться в системе с освобожденными ресурсами, но сохранившейся записью в таблице процессов. Это состояние позволяет родителю получить информацию о статусе завершения процесса-потомка.
2. Orphan Process (процесс-сирота) — процесс, чей родительский процесс завершился, оставив процесс без непосредственного предка в системе. В Linux и других UNIX-подобных системах, когда родительский процесс завершается, все его «сиротские» дочерние процессы автоматически «усыновляются» процессом с PID 1, который обычно является процессом init
или его современной заменой, например, systemd
. Этот процесс становится новым родителем процессов-сирот и отвечает за их завершение и очистку ресурсов.
BY Библиотека Go для собеса | вопросы с собеседований
Share with your friend now:
tgoop.com/go_interview_lib/309