mkfifo()错误--->"创建命名管道时出错:文件存在"

Spy*_*osR 7 c mkfifo systems-programming

mkfifo函数有两个参数,路径和模式.但我不知道它使用的路径的格式是什么.我正在编写一个小程序来创建一个命名管道并作为路径mkfifo./home/username/Documents例如,使用消息,它总是返回-1 Error creating the named pipe.: File exists.

我已经检查了很多次这个目录,里面没有管道.所以我想知道问题是什么.我在mkfifo中使用的模式是0666或0777.

Ola*_*che 6

您给出mkfifo()现有目录的名称,因此出现了错误.您必须为其指定一个不存在的文件的名称,例如

mkfifo("/home/username/Documents/myfifo", 0600);
Run Code Online (Sandbox Code Playgroud)