基于管道的程序用于进程间通信

时间:2013-08-13 09:55:18

标签: c ipc pipe

是否有人知道如何将数字写入管道,首先我必须打开管道,然后为其编写合适的数字。

此外,写完后我还要读取数字并打印出来。

我试图用'popen'命令打开管道,但我不确定要给popen作为第一个参数,即: -

       popen(const char *command, const char *type)

我想问一下,如果我想给管道写一个数字,我应该在这里给出什么命令。??

1 个答案:

答案 0 :(得分:0)

您应该使用fd=open(FIFO_NAME,O_RDONLY);来阅读fifo文件。

mkfifo(FIFO_NAME,S_IFIFO|S_IRWXU|S_IRWXG|S_IRWXO);
    fd=open(FIFO_NAME,O_WRONLY);

fifo也称为pipe.Here mkfifo创建一个fifo文件并写入文件。

注意: - 要读取或写入fifo,应该有一个读写器进程,否则它将阻止其中一个进程。

如果您不想编写用于读取use cat命令和编写进程以查看fifo文件内容的进程。