#include #include #include #include #include #include #include int main() { // 创建 fifo 的有名(文件名)管道 if (mkfifo("myfifo", 0755) != 0) { // 管道文件已经存在,代码将继续执行后面的部分,其他错误报错 // 如果errno等于EEXIST,则表示管道文件已经存在,代码将继续执行后面的部分 if (errno != EEXIST) { perror("mkfifo"); return 1; } } printf("准备以只写方式打开 myfifo\n"); int fd = open("myfifo", O_WRONLY | O_NONBLOCK); if (fd == -1) { perror("open"); return 1; } printf("open myfifo fd = %d\n", fd); sleep(3); // 阻塞 5 秒 close(fd); return 0; }