我正在尝试使用 execl 从父级执行程序。我进行正常的管道设置和分叉。这是诀窍......我需要我的孩子(可以有任意数量的孩子)与父母交流。
程序“A”(父)创建管道分支并执行到“B”(子)。在程序的 main() 函数中,BI 需要能够对管道进行读写。
在excel接管并执行我的子进程后,有什么方法可以访问我的子进程中的管道文件描述符?
谢谢你,~埃里克
execl(3)
对文件描述符没有影响,但有一个例外可以用 标记文件描述符 close-on-exec fcntl(2)
,但通常各种风格的execve(2)
文件描述符对打开的文件描述符没有影响,并且它们在子项中保持打开状态。
阅读Beej 的 Unix 进程间通信指南(您可以在http://beej.us/guide/),特别是第 4 节。