Вы можете использовать методы nos, описанные в этом потоке, или (более традиционный) способ, разделяя его между связанными процессами (обычно родитель-потомок или родные братья), создав его, разветвленные процессы автоматически получают копию.
Действительно, разветвленные процессы получают все ваши FD и могут использовать их, если они не закрывают их (что обычно является хорошей идеей).
Поэтому, если родительский объект разветвляет двух дочерних элементов, если у них обоих есть дескриптор файла, который они не закрывали, он теперь используется совместно (даже если родительский объект впоследствии закрывает его). Это может быть, например, канал от одного ребенка к другому. Вот как оболочка перенаправляет как
ls -l | more
работа.