PIPE(2) Linux Programmer's Manual PIPE(2)NAME
pipe - create pipe
SYNOPSIS
#include <unistd.h>
int pipe(int filedes[2]);
DESCRIPTION
pipe creates a pair of file descriptors, pointing to a pipe inode, and places them in the array pointed to by filedes. filedes[0] is for
reading, filedes[1] is for writing.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
ERRORS
EMFILE Too many file descriptors are in use by the process.
ENFILE The system file table is full.
EFAULT filedes is not valid.
CONFORMING TO
SVr4, SVID, AT&T, POSIX, X/OPEN, BSD 4.3
SEE ALSO read(2), write(2), fork(2), socketpair(2)Linux 0.99.11 1993-07-23 PIPE(2)
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
Hi Friends,
I have a flat file and it has 43 columns which means 42 pipes but some records have less number of pipes.Can anyone tell me a command to count the number of pipes in a record and redirect the count to some new file because the flat file has not less than 40,000 records.
Thanks... (14 Replies)
Hi all,
I have an gawk script to get user's input, So I use
getline name < "-" (or getline name < "/dev/stdin") in my script
They both work fine when my script deals with files. But it is broken for pipes.
When I try "some command | my awk script", the variable name just gets an empty... (17 Replies)
Hi,
I came across a very good script to convert a comma seperated to pipe delimited file in this forum. the script serves most of the requirement but looks like it does not handle embedded double quotes and commas i.e if the input is like
1234, "value","first,second", "LDC5"monitor",... (15 Replies)
Hi All Gurus,
I need to replace a pipe <|> with a comma <,> in a few columns with pipe delimited file. The column name are fixed for the replacement of comma <,>.
For below example, Col3, Col6 and Col8 are columns need to replace with comma <,> if any pipe encountered.
example:... (14 Replies)
I am trying to create a csh clone, but am having problems implementing piped commands. Specifically, the below code simply hangs after input of ls | grep <text>
It does however filter the output and display it correctly, but it appears that grep hasn't exited and my shell never comes back to the... (16 Replies)
Hi,
I am new to shell scripting and unix in general, and I am running into a problem.
I need to grep my script for a line which is a delimiter for an encoded file. I would like to get the line number of this delimiter so that i can use "tail" to get the encoded data and decode it.
I am... (16 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)
I got a issue with one binary application when i run it it will not run and after doing a truss i noticed the following errors in the log dose anyone know what the errors are about and how to fix them?, I also inserted a image of the error log in case their is something i have mists, thank you for... (19 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 ppl
I have a requirement to split (cut in unix) a file (A.txt) which is a pipe delimited file into A1.txt and A2.txt
Now I have to join (paste in unix) this A2.txt with external file A3.txt to form
output file A4.txt which should be CSV (comma separated file) so that third party can... (25 Replies)
Hello, I need to get few values from a XML file and output needs to be written in another file with pipe delimited format. The Header & Footer of the Pipe Delimited file will be constant.
The below is my sample XML file. I need to pull the values in between the XML tags <Operator_info to... (15 Replies)
Hello,
I am trying to create an iptables script with tail ,sed and awk.
1st Request: Search keyword "secret" in access.log file
2nd Request: Get first column matching lines (ip address)
3rd Request: Save it to a file
This is what I did so far:
grep.sh
#!/bin/bash
while true;
do
tail... (23 Replies)
Hi,
Suppose I have a command:$ cmd1 | cmd2I need to send a message from cmd2 to cmd1 when I receive some a certain message from cmd1. How to do this?
I think that I have to know cmd1's PID and then in cmd2 send a message to this PID. How? (24 Replies)