Is it possible to change the size of a named pipe

2019-01-24 06:48发布

问题:

I know that for the current version of the Linux kernel, the size of named pipes is 64K. Is it possible to increase this size at all?

I know I can switch to sockets, but first I'd like to see if I can solve an intermittent buffer-overflow problem by just increasing the named-pipe size.

回答1:

With recent kernels (>= 2.6.35), you can change the size of a pipe with

fcntl(fd, F_SETPIPE_SZ, size)

where size is a long. The maximum size is in /proc/sys/fs/pipe-max-size.