Вопрос
Я пытаюсь выполнить программу от родителя, используя execl. Я делаю обычную настройку трубы и вилку. Вот хитрость ... Мне нужны мои дети (может быть произвольное количество детей), чтобы все общались с родителями.
Программа " A " (родительский) создает разветвления канала и запускается в "B" (Ребенок). В функции main () программы B мне нужно уметь читать и писать в канал.
Есть ли какой-нибудь способ получить доступ к моим дескрипторам файлов канала в дочернем процессе после того, как Excel захватит и выполнит мой дочерний процесс?
Спасибо, ~ Эрик
Решение
execl (3)
не влияет на файловые дескрипторы, за одним исключением
Можно пометить дескриптор файла близко к exec с помощью fcntl (2)
, но, как правило, различные разновидности execve (2)
не влияют на открыть дескрипторы файлов, и они остаются открытыми у детей.
Другие советы
Прочитайте Руководство Beej по межпроцессному взаимодействию Unix (его можно найти по адресу . http://beej.us/guide/ ), особенно раздел 4.