Linux中使用管道的进程间通信



我已经编写了在linux中编写数字管道的代码。它和下面一样,但显示出错误,有人能帮我吗。

基本上,该程序的问题陈述如下:一个程序将打开一个管道,向管道写入一个数字。-其他程序将打开相同的管道,读取数字并打印它们。-关闭两个管道

int main()
{
int number;


FILE *fout;
fout = popen("  ","w");

pclose(fout);
return 0;
}

现在我的问题是,我应该在popen命令选项中给出什么命令(如上面的空白所示),这样我就可以继续前进,并将数字写入管道。

首先,使用mknod命令创建一个命名管道。CCD_ 1。然后使用函数进行读写,就好像它们是文件一样。也可以使用代码创建节点,使用mknod函数。查找错误代码EEXIST。点击此处了解更多信息。http://linux.die.net/man/2/mknod

您不太了解IPC和管道是如何工作的;请读一本好书:《高级Linux编程》有几章是关于这些问题的。

我们没有时间来解释这些好书所涵盖的困难概念。花几个小时来阅读它们

库函数popen(3)运行一个命令。很可能,您的系统上没有p命令。我猜fp为NULL,并且errno已设置。

popen正在使用pipe(2)、fork(2),dup2(2)和execve(2)以及/bin/sh -c

最新更新