Я читаю о fork
и exec
для экзамена, и в моей книге говорится, что всякий раз, когда это необходимо для запуска нового (другого) процесса в Unix-системах, вы должны разветвлять текущий процесс, за которым следует execve
.
Однако он также говорит, что всякий раз, когда вызывается fork
, весь образ памяти родителя копируется в новый процесс.
Тогда мой вопрос: что, если у вас есть процесс с действительно большим размером памяти, и вы просто хотите запустить новый процесс? Разве это не пустая трата ресурсов для копирования всех данных из родительского процесса, если вы просто собираетесь немедленно его заменить?