09-13-2011
To my knowledge, increasing the size of pipe and fifo (named pipe) buffers requires tweaking a header file and recompiling the kernel. The parameter in question is PIPE_BUF.
If you're using a recent linux, it's probably 64K. On an older linux, I believe it's 4K. On some other UNIX systems, it may be as low as 512 bytes (I believe this is the minimum allowed by POSIX).
You should be able to check the value with getconf PIPE_BUF pathname, where "pathname" is the path to the named pipe or the directory in which the named pipe will be located.
Regards,
Alister
Last edited by alister; 09-13-2011 at 02:54 AM..
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi All,
I am facing a vague issue while trying to make two process talk to each
other using named pipe.
read process
=========
The process which reads, basically creates FIFO using
mkfifo - ret_val = mkfifo(HALF_DUPLEX, 0666);) func.
It then opens the pipe using open func - fd =... (1 Reply)
Discussion started by: sharanbr
1 Replies
2. Programming
Hi All,
I am facing a vague issue while trying to make two process talk to each
other using named pipe.
read process
=========
The process which reads, basically creates FIFO using
mkfifo - ret_val = mkfifo(HALF_DUPLEX, 0666) func.
It then opens the pipe using open func - fd = open... (2 Replies)
Discussion started by: sharanbr
2 Replies
3. UNIX for Advanced & Expert Users
Hey folks,
i need communicate between 2 processes in a reliable manner. The information delivery has to be guarenteed. I thought about proc 2 sending a signal to proc 1 when information has being written to disc and wirte() has been verified (sync/flush). The IPC method for the data is named... (4 Replies)
Discussion started by: heck
4 Replies
4. UNIX for Dummies Questions & Answers
Gurus,
I've a File Transaction Server, which communicates with other servers and performs some processing.It uses many Named PIPE's.
By mistake i copied a named PIPE into a text file.
I heard that PIPE files shouldn't be copied.Isn't it?
Since it's a production box, i'm afraid on... (2 Replies)
Discussion started by: Tamil
2 Replies
5. UNIX for Advanced & Expert Users
I did
cat < myFile >> myPipe
I was hoping that if I did ls -l, myPipe would now be holding the contents of myFile, and would be the same size. But it was 0.
Also strange was that when I did the command above, cat did not return control back to the shell. Why?
thanks (4 Replies)
Discussion started by: JamesByars
4 Replies
6. UNIX for Dummies Questions & Answers
Hello,
On my machine, all mail is stored in my /var/spool/mail.
IS there a way to direct all mail that goes there into a namep pipe?
Thank you,
Dado (4 Replies)
Discussion started by: dadoprso
4 Replies
7. Shell Programming and Scripting
I would like to pipe (redirect ? - what is the right term?) the output of my script to a file named with the current date.
If I run this at a command prompt:
date +'%Y%m%d"
...it returns "20110429"
OK, that's good... so I try:
./script.sh > "'date +%Y%m%d'.csv"
I get a file... (1 Reply)
Discussion started by: landog
1 Replies
8. Programming
Hi All !
I try to collect importent events from syslog and in my
syslog conf, there is something like this:
*.* |/logs/ipes/SLpipe1
I have a program, which opens this pipe and reads the messages from it.
But how this pipe works ? Where can I probably read something about the details,... (3 Replies)
Discussion started by: mabra
3 Replies
9. UNIX for Dummies Questions & Answers
Ok, I can't seem to figure this out or find anything on the web about this.
I'm on Sun Solaris, UNIX.
I have the following test script:
#!/bin/ksh
touch test.file
LOG=./tmp.log
rm -f ${LOG}
PIPE=./tmp.pipe
mkfifo ${PIPE}
trap "rm -f ${PIPE}" EXIT
tee -a ${LOG} < ${PIPE} &
... (17 Replies)
Discussion started by: Ditto
17 Replies
10. Shell Programming and Scripting
Hi ALL,
How can I test a given file name exists and if it is a named pipe file in shell script ?
Thanks............ (2 Replies)
Discussion started by: mycode.in
2 Replies
LEARN ABOUT REDHAT
mkfifo
MKFIFO(3) Linux Programmer's Manual MKFIFO(3)
NAME
mkfifo - make a FIFO special file (a named pipe)
SYNOPSIS
#include <sys/types.h>
#include <sys/stat.h>
int mkfifo(const char *pathname, mode_t mode);
DESCRIPTION
mkfifo makes a FIFO special file with name pathname. mode specifies the FIFO's permissions. It is modified by the process's umask in the
usual way: the permissions of the created file are (mode & ~umask).
A FIFO special file is similar to a pipe, except that it is created in a different way. Instead of being an anonymous communications chan-
nel, a FIFO special file is entered into the file system by calling mkfifo.
Once you have created a FIFO special file in this way, any process can open it for reading or writing, in the same way as an ordinary file.
However, it has to be open at both ends simultaneously before you can proceed to do any input or output operations on it. Opening a FIFO
for reading normally blocks until some other process opens the same FIFO for writing, and vice versa. See fifo(4) for non-blocking handling
of FIFO special files.
RETURN VALUE
The normal, successful return value from mkfifo is 0. In the case of an error, -1 is returned (in which case, errno is set appropriately).
ERRORS
EACCES One of the directories in pathname did not allow search (execute) permission.
EEXIST pathname already exists.
ENAMETOOLONG
Either the total length of pathname is greater than PATH_MAX, or an individual file name component has a length greater than
NAME_MAX. In the GNU system, there is no imposed limit on overall file name length, but some file systems may place limits on the
length of a component.
ENOENT A directory component in pathname does not exist or is a dangling symbolic link.
ENOSPC The directory or filesystem has no room for the new file.
ENOTDIR
A component used as a directory in pathname is not, in fact, a directory.
EROFS pathname refers to a read-only filesystem.
CONFORMING TO
POSIX.1
SEE ALSO
mkfifo(1), read(2), write(2), open(2), close(2), stat(2), umask(2), fifo(4)
Linux 1.2.13 1995-09-03 MKFIFO(3)