Еще нет никакого руководства использования этим тегом …!
Руководство использования, также известное как тег выборка Wiki, является короткой аннотацией, которая описывает, когда и почему тег должен использоваться на этом сайте конкретно.
vfork является системным вызовом UNIX, указанным в POSIX 1-2001 разрешение программы создать дочерний процесс при приостановке себя.
Точно так же, как fork
системный вызов, vfork
может использоваться процессом для создания дочернего процесса. Однако при использовании vfork
, вызывающий поток приостановлен во время выполнения дочернего процесса. Резюме этого системного вызова следующие:
#include <sys/types.h> #include <unistd.h> pid_t vfork(void);
Возврат к родительскому процессу произойдет в любой ситуации, включающей завершение дочернего процесса, вышло ли это (использование _exit
) или был сообщен и уничтожил. Если дочерний процесс звонит execve
однако, родительский процесс будет возвращен.
Точно так же, как fork
, vfork
создает процесс на основе звонящего. Поэтому несколько атрибутов от обработки вызовов будут скопированы в ребенка: дескрипторы файлов, обработчики сигналов... Дочерний процесс также будет частью той же группы процесса (и поэтому, сессия). Однако vfork
не обрабатывает виртуальные адресные пространства процессов как fork
. Действительно, при вызове vfork
, таблицы страницы памяти родительского процесса не должны быть дублированы, но сделаны доступными для недавно созданного дочернего процесса.
Так как POSIX.1-2008 удалил спецификацию vfork
, пользователи должны знать о следующем:
vfork
процесс редактора.Для получения дополнительной информации относительно этого системного вызова, пользователи приглашены читать fork(2)
и vfork(2)
.