【发布时间】:2023-04-01 02:25:01
【问题描述】:
如果你 fork() 并创建了两个进程来读取和写入管道,并且子进程正在从管道读取并且父进程正在写入管道,如果子进程被写入父进程会失败在父进程有机会写入管道之前关闭写入的管道?
【问题讨论】:
-
附上代码示例会使问题看起来更好。
-
我看不出代码示例会增加什么价值。这个问题很清楚。
如果你 fork() 并创建了两个进程来读取和写入管道,并且子进程正在从管道读取并且父进程正在写入管道,如果子进程被写入父进程会失败在父进程有机会写入管道之前关闭写入的管道?
【问题讨论】:
关闭其管道写入端的子进程仅删除其对管道的引用,它不会导致管道“关闭”或任何类似的事情,因此不会影响父进程对它的引用反正。一般情况下,close(2) 调用也是如此。
进一步阅读:
【讨论】: