Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

FORK(2)

НАЗВАНИЕ
fork - создание нового процесса

СИНТАКСИС


        int fork ( )

ОПИСАНИЕ
Вызов fork приводит к созданию нового процесса (порожденного процесса) - точной копии процесса, сделавшего вызов (родительского процесса). Точнее, порожденный процесс наследует у родительского процесса следующие характеристики:

  1. Окружение.
  2. Флаг "закрыть при выполнении вызова exec" [см. exec(2)].
  3. Способы обработки сигналов (то есть SIG_DFL, SIG_IGN, SIG_HOLD, адреса функций обработки сигналов).
  4. Разрешение переустанавливать действующий идентификатор пользователя.
  5. Разрешение переустанавливать действующий идентификатор группы.
  6. Состояние профилирования (включено/выключено).
  7. Значение поправки к приоритету [см. nice(2)].
  8. Все присоединенные разделяемые сегменты памяти [см. shmop(2)].
  9. Идентификатор группы процессов.
  10. Идентификатор группы терминала [см. exit(2)].
  11. Текущий рабочий каталог.
  12. Корневой каталог.
  13. Маска режима создания файлов [см. umask(2)].
  14. Ограничение на размер файла [см. ulimit(2)].

Порожденный процесс отличается от родительского процесса следующим:

  1. Порожденный процесс имеет свой уникальный идентификатор процесса.
  2. Порожденный процесс имеет иной идентификатор родительского процесса, равный идентификатору процесса, его породившего.
  3. Порожденный процесс имеет свои собственные копии родительских дескрипторов файлов. Каждый дескриптор файла порожденного процесса разделяет с соответствующим родительским дескриптором файла общий указатель текущей позиции в файле.
  4. Все semadj значения сбрасываются [см. semop(2)].
  5. Порожденный процесс не наследует у родительского процесса признаков удержания в памяти сегмента команд, данных или всего процесса целиком
    [см. plock(2)].
  6. Обнуляются счетчики времени, потраченного для обслуживания этого процесса (tms_utime, tms_stime, tms_cutime, tms_cstime). Отменяется запрос к будильнику. См. times(2) и alarm(2).

Системный вызов fork завершается неудачей и новый процесс не порождается, если выполнено хотя бы одно из следующих условий:

[EAGAIN]
Создать процесс запрещает системное ограничение на общее количество процессов.
[EAGAIN]
Создать процесс запрещает системное ограничение на количество процессов у одного пользователя.
[EAGAIN]
Общее количество системной памяти, предоставленной для физического ввода/вывода, временно оказалось недостаточным.

СМ. ТАКЖЕ
alarm(2), exec(2), exit(2), nice(2), plock(2), ptrace(2), semop(2), shmop(2), signal(2), sigset(2), times(2), ulimit(2), umask(2), wait(2).

ДИАГНОСТИКА
При успешном завершении порожденному процессу возвращается 0, а родительскому процессу возвращается идентификатор порожденного процесса. В случае ошибки родительскому процессу возвращается -1, не создается нового процесса и переменной errno присваивается код ошибки.

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...