命名管道(FIFO)是进程间通信的一种方式。
API:
int mkfifo(const char *pathname, mode_t mode);
DEMO:
// 写进程 int main(int argc, char **argv) { char filename[] = "/tmp/my_fifo"; if (mkfifo(filename, 0777) < 0) { perror("mkfifo error"); exit(1); } int fd = open(filename, O_WRONLY); char buffer[128] = "hello world"; write(fd, buffer, strlen(buffer)); printf("write done "); return 0; } // 读进程 int main(int argc, char **argv) { char filename[] = "/tmp/my_fifo"; int fd = open(filename, O_RDONLY); char buffer[128]; int n = read(fd, buffer, 128); buffer[n] = '