Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
一个简单的问题。如果我有 2 个程序需要访问 1 个命名管道。如果一个人使用 open() 函数在一端读取带有O_RDONLY标志,那么另一端是否能够打开文件O_WRONLY并能够写入它?另一个程序会得到写入的数据吗?
O_RDONLY
O_WRONLY
你可以这样做。
如果您使用O_RDWR打开管道,它不会阻塞。
O_RDWR
如果您使用O_RDONLY打开管道,它将阻塞直到编写器打开管道,除非您使用O_NONBLOCK确保成功打开管道。
O_NONBLOCK
如果你使用O_WRONLY打开管道,它会阻塞直到读者打开管道,但如果你也使用O_NONBLOCK,open()将会失败。
open()