【问题标题】:how to close a file descriptor in child process inherited across a fork. So does the parent process remains open or not如何关闭跨叉继承的子进程中的文件描述符。父进程是否保持打开状态
【发布时间】:2021-03-03 08:22:54
【问题描述】:

当子进程在父进程中 关闭通过 fork 继承的文件描述符。换句话说,文件是否在 父母,还是那里关门了?

【问题讨论】:

  • 它在父级中保持打开状态。

标签: c fork parent-child computer-science file-descriptor


【解决方案1】:

每个进程都有自己的一组文件描述符。如果你关闭一个进程,它不会在另一个进程中关闭。

这些文件描述符可能指向同一个文件description。如果你 fork 一个进程,然后在一个进程中从 FD 读取,然后在另一个进程中从 FD 读取,它将计为两次不同的读取 - 不是两次读取相同的读取。第一次读取将获得第一条数据,第二次读取将获得第二条数据。这也是使用dup 或dup2 创建的FD 的工作原理。

指向相同文件描述的文件描述符不必具有相同的编号。

【讨论】:

    猜你喜欢
    • 2013-02-22
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多