我正在使用异步管道进行进程间通信(为了简化我删除了错误检查)
int pipe_fd[2];
pipe(pipe_fd);
int fdflags = fcntl(pipe_fd[1], F_GETFL, 0);
fdflags |= O_NONBLOCK;
fcntl(pipe_fd[1], F_SETFL, fdflags);
我正在寻找增加管道内部缓冲区大小的方法。 我知道可以使用 Kernel >= 2.6.35 通过以下方式:
fcntl(fd, F_SETPIPE_SZ, size);
或写信给:
/proc/sys/fs/pipe-max-size
但我正在使用内核 2.6.18 开发 CentOS 5。 是否可以使用内核 2.6.18 增加管道内部缓冲区大小?如果是,该怎么做?
最佳答案
在CentoS 5的内核中,一个管道固定为64KB
关于c - 在 CentOS 上增加管道内部缓冲区大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10376180/