gpt4 book ai didi

c - mkfifo() 和 mknod() 的区别

转载 作者:IT王子 更新时间:2023-10-29 01:08:19 41 4
gpt4 key购买 nike

创建命名管道时 mkfifo() 和 mknod() 有什么区别?

我尝试搜索但没有得到满意的答案。

最佳答案

使用 mkfifo()是标准化和便携的。使用mknod()一般来说,它是不可移植的——它是 POSIX 的一部分(尽管在这个答案的早期版本中有相反的说法)。 POSIX 规范说 mkfifo() 应该是首选。否则,mkfifo()mknod() 创建的 FIFO 之间没有区别。

请注意,mknod() 可用于创建其他设备类型,而不仅仅是 FIFO。它可以创建 block 特殊设备和字符特殊设备。曾几何时(非常,非常)很久以前,mknod() 也被用于创建目录 — 在 mkdir() 之前的日子里>rmdir() 系统调用。创建目录后,您必须使用 link() 两次以在新目录中创建 ... 条目。 (而且你必须有 root 权限才能使用它,所以 mkdirrmdir 命令是 SUID root。)现在文件系统更加可靠,因为它不再是一部分游戏的。

引用:Version 7 Unix — 大约 1979 年。

关于c - mkfifo() 和 mknod() 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43023329/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com