我正在使用管道(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>
我看到所有数据都是成功编写的,但我在客户端等待而没有显示书面数据。问题在哪里?
答案 0 :(得分:0)
添加close(fd)
解决了问题