PIPE(2) BSD System Calls Manual PIPE(2)NAME
pipe -- create descriptor pair for interprocess communication
SYNOPSIS
#include <unistd.h>
int
pipe(int fildes[2]);
DESCRIPTION
The pipe() function creates a pipe (an object that allows unidirectional data flow) and allocates a pair of file descriptors. The first
descriptor connects to the read end of the pipe; the second connects to the write end.
Data written to fildes[1] appears on (i.e., can be read from) fildes[0]. This allows the output of one program to be sent to another pro-
gram: the source's standard output is set up to be the write end of the pipe; the sink's standard input is set up to be the read end of the
pipe. The pipe itself persists until all of its associated descriptors are closed.
A pipe whose read or write end has been closed is considered widowed. Writing on such a pipe causes the writing process to receive a SIGPIPE
signal. Widowing a pipe is the only way to deliver end-of-file to a reader: after the reader consumes any buffered data, reading a widowed
pipe returns a zero count.
The generation of the SIGPIPE signal can be suppressed using the F_SETNOSIGPIPE fcntl command.
RETURN VALUES
On successful creation of the pipe, zero is returned. Otherwise, a value of -1 is returned and the variable errno set to indicate the error.
ERRORS
The pipe() call will fail if:
[EFAULT] The fildes buffer is in an invalid area of the process's address space.
[EMFILE] Too many descriptors are active.
[ENFILE] The system file table is full.
SEE ALSO sh(1), fork(2), read(2), socketpair(2), fcntl(2), write(2)HISTORY
A pipe() function call appeared in Version 6 AT&T UNIX.
4th Berkeley Distribution February 17, 2011 4th Berkeley Distribution
Check Out this Related Man Page
PIPE(2) BSD System Calls Manual PIPE(2)NAME
pipe -- create descriptor pair for interprocess communication
SYNOPSIS
#include <unistd.h>
int
pipe(int fildes[2]);
DESCRIPTION
The pipe() function creates a pipe (an object that allows unidirectional data flow) and allocates a pair of file descriptors. The first
descriptor connects to the read end of the pipe; the second connects to the write end.
Data written to fildes[1] appears on (i.e., can be read from) fildes[0]. This allows the output of one program to be sent to another pro-
gram: the source's standard output is set up to be the write end of the pipe; the sink's standard input is set up to be the read end of the
pipe. The pipe itself persists until all of its associated descriptors are closed.
A pipe whose read or write end has been closed is considered widowed. Writing on such a pipe causes the writing process to receive a SIGPIPE
signal. Widowing a pipe is the only way to deliver end-of-file to a reader: after the reader consumes any buffered data, reading a widowed
pipe returns a zero count.
The generation of the SIGPIPE signal can be suppressed using the F_SETNOSIGPIPE fcntl command.
RETURN VALUES
On successful creation of the pipe, zero is returned. Otherwise, a value of -1 is returned and the variable errno set to indicate the error.
ERRORS
The pipe() call will fail if:
[EFAULT] The fildes buffer is in an invalid area of the process's address space.
[EMFILE] Too many descriptors are active.
[ENFILE] The system file table is full.
SEE ALSO sh(1), fork(2), read(2), socketpair(2), fcntl(2), write(2)HISTORY
A pipe() function call appeared in Version 6 AT&T UNIX.
4th Berkeley Distribution February 17, 2011 4th Berkeley Distribution
i have a list of files below:
rwxrwxrwx 1 pipe pipe 180 Mar 4 22:47 del_0n_Date
-rwxrwxrwx 1 pipe pipe 472 Mar 4 22:58 mail_Check
-rw-r--r-- 1 pipe pipe 92 Mar 4 22:58 minfo.txt
-rwxrwxrwx 1 pipe pipe 609 Mar 5 05:12... (6 Replies)
Hi All,
I have a file which contains data as below
When we see no pipe character in the line. append those lines to the previous line with pipe character till we get the next line with pipe character with ~(concat with ~)
Input file looks like:
1080530944|001|john.l.bonner|Acknowledge|CN... (11 Replies)
I have the following code which works on AIX 4.3 but fails at times on AIX 5.3
with:
cat: 0652-054 cannot write to output. There is no process to read data written to a pipe.
validator="${validator_exe} ${validator_parms}"
cmd_line="${CAT} ${data_file} | ${validator}... (6 Replies)
catch signal SIGPIPE ,print errno but it's value equal to 2(ENOENT)
#define ENOENT 2 /* No such file or directory */
is it should be EPIPE ?
#define EPIPE 32 /* Broken pipe */
Thanks ! (7 Replies)
Guys, I have a problem :confused: and I need some help:
I've to process many huge zip files.
I'd code an application that receive the data from a pipe, so I can simple unzip the data and send it (via pipe) to my app.
Something like that:
gzip -dc <file> | app
The problem is: How can I... (7 Replies)
The "write failed: Broken pipe" message is reported by the file sending PC which run my writed network device driver while 500MB or 900MB is sended!
What does the message mean? Does this mean there is a bug in my driver?
li,kunlun (11 Replies)
Hi,
I have a file where data is pipe seperated. I want to extract a field which is 12 characters in length and starts with BBG(|BBG000KFWBB1|). Both has pipe delimeter at the start and end. The value can be anywhere in the file.
I want to extract this field that starts with BBG from the... (6 Replies)
Hi again, have a script that I would like run, but before I can run it I need to strip out the windows \r end of lines.
I have put the command into a text file and set the command to run every 10 seconds the coomand I use to do this is
while sleep 10; do... (15 Replies)
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)
Hi All,
how to add a pipe "|" in name field in my .dat file, below is the sample file.
name field is not case sensitive, it is mixed with upper and lower characters.
EMPLID|NAME |STID |STATUS |HRID |OIN(COLUMN NAME)001123456One,Test|2027062|A|HIR|NPS|
001123457Expat,Two|6027062|A|HIR|NPS|... (7 Replies)
I create commands within a pipe and finally want them to be executed instead of being displayed on the screen. What is the last stage in this pipe? I found by guessing that "ksh" is working, but is this the best to use here?
It boils down to this:
echo "print Hello World!"| kshWhat is the... (15 Replies)
Hello All,
Thanks for taking time to read through the thread and for providing any possible solution.
I am trying to pivot a comma separated field in a pipe delimited file. Data looks something like this:
Field1|Field2
123|345,567,789
234|563,560
345|975,098,985,397,984
456|736
Desired... (8 Replies)
Heays
So i have that script to which i'd like to pipe (rather than just regular arguments) some data from another virtual output command.
Simplified:
echo * | script.sh
When i know how many args i expect, i can handle this simple by:
&& \
read ONE TWO && \
set ONE TWO
echo "$1 : $2... (7 Replies)