【问题标题】:Program based on pipe for interprocess communication [duplicate]基于管道进行进程间通信的程序[重复]
【发布时间】:2013-08-14 21:16:17
【问题描述】:

有谁知道如何写一个数字到管道,首先我必须打开管道,然后写合适的数字。

另外,写完后我还必须读取数字并打印出来。

我尝试使用“popen”命令打开管道,但我不确定将什么作为 popen 的第一个参数,即:-

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

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

【问题讨论】:

标签: c ipc pipe


【解决方案1】:

您应该使用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。这里mkfifo创建一个fifo文件并写入一个文件。

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

如果你不想写一个读进程用cat命令写进程看fifo文件内容。

【讨论】:

    猜你喜欢
    • 2017-09-10
    • 1970-01-01
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 2013-04-01
    • 1970-01-01
    相关资源
    最近更新 更多