C-是其流程或UNIX上全局的文件描述符


int fd = socket(//arguments);

该描述符可以通过IPC传递到另一个过程,并且仍然有效,或者它是创建它的过程的本地?

文件描述符是该过程的本地。例如,每个过程都会在文件描述符0、1和2中具有其标准输入,输出和错误。

可以将文件描述符传递到UNIX域套接字上的另一个过程。完成此操作后,每个过程将具有文件描述符的副本,可能是不同的FD编号。不过,这是一种混乱的API,很少使用。

是的,文件描述符是该过程的本地。但是,当一个过程分叉时,父母和孩子具有相同的文件描述符表。这很棒,因为它允许IO重定向,这是一个非常方便的技巧。

相关内容

  • 没有找到相关文章

最新更新