无法从fifo获取数据

时间:2015-09-28 16:29:51

标签: bash fifo

我正在使用管道(bash脚本)。我在一个管道$serverPID中写入并从另一个管道echo "Get var" mkfifo "${server}$$" echo "$$ 2" > $server read var < "${server}$$" echo "var: ${var}" 读取。这是客户端示例代码:

int fd;
if ((fd = open(fifo, O_RDWR)) == -1) {
    fprintf(stderr, "Could not open fifo");
}

ssize_t written;

written = write(fd, buf, strlen(buf));
if (written == -1) {
    fprintf(stderr, "Could not write into fifo");                        
}
printf("written %d into %s\n", written, fifo);

这是服务器示例代码:

Map<ClassA, ClassA>

我看到所有数据都是成功编写的,但我在客户端等待而没有显示书面数据。问题在哪里?

1 个答案:

答案 0 :(得分:0)

添加close(fd)解决了问题