fork создаёт дочерний процесс, продолжающий выполнение с той же точки: родитель получает PID ребёнка, ребёнок — 0, при ошибке возвращается −1.
Что такое системный вызов fork в операционных системах семейства Unix?
fork создаёт дочерний процесс, продолжающий выполнение с той же точки: родитель получает PID ребёнка, ребёнок — 0, при ошибке возвращается −1.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
fork создаёт дочерний процесс, продолжающий выполнение с той же точки: родитель получает PID ребёнка, ребёнок — 0, при ошибке возвращается −1.
Адресное пространство логически копируется; Linux обычно откладывает физическое копирование страниц через copy-on-write. Дескрипторы наследуются и могут ссылаться на общие open-file descriptions, включая позицию файла. В многопоточном процессе у ребёнка остаётся только вызывающий поток, поэтому до exec особенно опасны унаследованные locks и небезопасные библиотечные операции. Родитель должен обработать завершение ребёнка через wait/waitpid, иначе завершённый процесс может оставаться zombie.
Источник: man7.org.