| Тип IPC | fork | exec | _exit |
|---|
| Неименованные и именованные каналы | Порожденный процесс получает копии всех дескрипторов родительского процесса | Все открытые дескрипторы остаются открытыми, если для них не установлен бит FD_CLOEXEC | Все открытые дескрипторы закрываются, данные из программного канала и FIFO удаляются после последнего закрытия |
| Очереди сообщений Posix | Порожденный процесс получает копии всех открытых родительских процессов | Все открытые дескрипторы очередей сообщений закрываются | Все открытые дескрипторы очередей сообщений закрываются |
| Очереди сообщений System V | Не действует | Не действует | Не действует |
| Взаимные исключения и условные переменные Posix | Общий доступ, если используется разделяемая память с атрибутом разделения между процессами | Исчезает, если не хранится в разделяемой памяти, которая остается открытой и имеет атрибут разделения | Исчезает, если не находится в разделяемой памяти, которая остается открытой и имеет атрибут разделения |
| Блокировки чтения-записи Posix | Общий доступ, если используется память с общим доступом и атрибутом разделения между процессами | Исчезает, если не хранится в разделяемой памяти, которая остается открытой и имеет атрибут разделения | Исчезает, если не хранится в разделяемой памяти, которая остается открытой и имеет атрибут разделения |
| Семафоры Posix, хранящиеся в памяти | Общий доступ, если используется память с общим доступом и атрибутом разделения между процессами | Исчезает, если не хранится в разделяемой памяти, которая остается открытой и имеет атрибут разделения | Исчезает, если не хранится в разделяемой памяти, которая остается открытой и имеет атрибут разделения |
| Именованные семафоры Posix | Все открытые в родительском процессе остаются открытыми в порожденном | Все открытые закрываются | Все открытые закрываются |
| Семафоры System V | Все значения semadj в порожденном процессе устанавливаются в 0 | Все значения semadj передаются новой программе | Все значения semadj добавляются к значению соответствующего семафора |
| Блокировка записей fcntl | Блокировки в родительском процессе не наследуются порожденным процессом | Блокировки не изменяются до тех пор, пока не закроется дескриптор | Все несброшенные блокировки, установленные процессом, снимаются |
| Отображение памяти | Отображения памяти родительского процесса сохраняются в порожденном | Отображения памяти сбрасываются (unmap) | Отображения памяти сбрасываются |
| Разделяемая память Posix | Отображения памяти родительского процесса сохраняются в порожденном | Отображения памяти сбрасываются | Отображения памяти сбрасываются |
| Разделяемая память System V | Присоединенные сегменты разделяемой памяти остаются присоединенными в порожденном процессе | Присоединенные сегменты разделяемой памяти отсоединяются | Присоединенные сегменты разделяемой памяти отсоединяются |
| Двери (doors) | Порожденный процесс получает копии всех открытых дескрипторов родительского процесса, но только родительский процесс является сервером при активизации дверей через дескрипторы | Все дескрипторы дверей должны быть закрыты, потому что они создаются с установленным битом FD_CLOEXEC | Все открытые дескрипторы закрываются |