在Linux系统中,可以使用`pipe()`系统调用来创建无名管道。以下是一个简单的示例程序来演示如何创建无名管道:

c
#include
#include
int main() {
int fd[2]; // 用于存储管道的文件描述符
if (pipe(fd) == -1) {
perror("Pipe creation failed");
return 1;
}
// fd[0] 为读端,fd[1] 为写端
printf("Pipe created with read fd: %d and write fd: %d\n", fd[0], fd[1]);
return 0;
}
在上面的示例中,首先通过`pipe()`系统调用创建了一个无名管道,并将读端和写端的文件描述符保存在`fd`数组中。然后输出了分配给读端和写端的文件描述符。
编译并运行该程序,将输出管道的读、写文件描述符。需要注意的是,无名管道只能在父子进程之间进行通信,因为它们是通过`fork()`系统调用创建的子进程共享文件描述符。

查看详情

查看详情