12-18-2006
The error messages aren't trick questions. It sounds like file.tmp, or some other file your program was using, is a pipe, a pipe which closes on the other end while your program is still using it.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
sometimes I ftp files from an Unix environment from the command prompt of my win2000 pc and I get a "broken pipe" message. sometimes I'll get nothing but sometimes I'll get part of the file.
Whats this "broken pipe" about?? (3 Replies)
Discussion started by: eloquent99
3 Replies
2. UNIX for Advanced & Expert Users
Hi
I tried to open the man page of sh and piped to `pg`. Normally while reading a file page by page using `pg`, if we wanna quit at the middle of file, we give "q" near the colon mode.
Ex1: $cat file1 | pg
hi
how
r
u
: (page1) now press "return key", it will go to next page
yes
i ... (1 Reply)
Discussion started by: ramkrix
1 Replies
3. UNIX for Dummies Questions & Answers
Hi
I tried to open the man page of sh and piped to `pg`. Normally while reading a file page by page using `pg`, if we wanna quit at the middle of file, we give "q" near the colon mode.
Ex1: $cat file1 | pg
hi
how
r
u
: (page1) now press "return key", it will go to next page
yes
i ... (3 Replies)
Discussion started by: ramkrix
3 Replies
4. Linux
hi
i have a server, and i have a web site and i installed apache in the /usr/local/apache/logs
i have a file and i have this problem
(32)Broken pipe: core_output_filter: writing data to the network
plz help me how i can resolve this
plz it's urgent
th (2 Replies)
Discussion started by: abir2
2 Replies
5. Shell Programming and Scripting
Hi All ,
Is there any way to replace the pipe ( | ) with the broken pipe (0xA6) in unix (1 Reply)
Discussion started by: saj
1 Replies
6. UNIX for Dummies Questions & Answers
I know what causes 'broken pipe' errors, but I can't understand why I can get it (only occasionally) with my example:
ps -ef | grep "\./ans$" | grep -v grep
Basically I'm searching the ps output looking for the process I'm interested in and excluding the process that is grepping for the... (2 Replies)
Discussion started by: fhew
2 Replies
7. UNIX for Advanced & Expert Users
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)
Discussion started by: liklstar
11 Replies
8. Red Hat
Hi all,
I am trying to run a sleep command and I am receiving a broken pipe when I execute. any help would be greatly appreciated.
sleep `< /dev/urandom tr -dc 0-6 | head -c2` (2 Replies)
Discussion started by: gartie
2 Replies
9. Shell Programming and Scripting
Hello,
I am trying to run some code on Matlab over ssh . The code takes around 5-6 hours to complete. so after giving the command to run it , I locked my machine and then went off to sleep at night, only to discover in the morning that I get this message :
...Code running, partial results... (1 Reply)
Discussion started by: ajayram
1 Replies
10. UNIX for Dummies Questions & Answers
Hi,
I am iseries resource and having Issue in one of the sFTP failures between one of my job (Unix --> iSeries).
The response to sending machine (Unix) is "Write Failed Broken Pipe".
Appreciate any help Available on why this Issue happens, how can we replicate the same, what fixes can... (1 Reply)
Discussion started by: hamelchauhan
1 Replies
PIPE(2) Linux Programmer's Manual PIPE(2)
NAME
pipe, pipe2 - create pipe
SYNOPSIS
#include <unistd.h>
int pipe(int pipefd[2]);
#define _GNU_SOURCE
#include <unistd.h>
int pipe2(int pipefd[2], int flags);
DESCRIPTION
pipe() creates a pipe, a unidirectional data channel that can be used for interprocess communication. The array pipefd is used to return
two file descriptors referring to the ends of the pipe. pipefd[0] refers to the read end of the pipe. pipefd[1] refers to the write end
of the pipe. Data written to the write end of the pipe is buffered by the kernel until it is read from the read end of the pipe. For fur-
ther details, see pipe(7).
If flags is 0, then pipe2() is the same as pipe(). The following values can be bitwise ORed in flags to obtain different behavior:
O_NONBLOCK Set the O_NONBLOCK file status flag on the two new open file descriptions. Using this flag saves extra calls to fcntl(2) to
achieve the same result.
O_CLOEXEC Set the close-on-exec (FD_CLOEXEC) flag on the two new file descriptors. See the description of the same flag in open(2) for
reasons why this may be useful.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
ERRORS
EFAULT pipefd is not valid.
EINVAL (pipe2()) Invalid value in flags.
EMFILE Too many file descriptors are in use by the process.
ENFILE The system limit on the total number of open files has been reached.
VERSIONS
pipe2() was added to Linux in version 2.6.27; glibc support is available starting with version 2.9.
CONFORMING TO
pipe(): POSIX.1-2001.
pipe2() is Linux-specific.
EXAMPLE
The following program creates a pipe, and then fork(2)s to create a child process; the child inherits a duplicate set of file descriptors
that refer to the same pipe. After the fork(2), each process closes the descriptors that it doesn't need for the pipe (see pipe(7)). The
parent then writes the string contained in the program's command-line argument to the pipe, and the child reads this string a byte at a
time from the pipe and echoes it on standard output.
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int
main(int argc, char *argv[])
{
int pipefd[2];
pid_t cpid;
char buf;
if (argc != 2) {
fprintf(stderr, "Usage: %s <string>
", argv[0]);
exit(EXIT_FAILURE);
}
if (pipe(pipefd) == -1) {
perror("pipe");
exit(EXIT_FAILURE);
}
cpid = fork();
if (cpid == -1) {
perror("fork");
exit(EXIT_FAILURE);
}
if (cpid == 0) { /* Child reads from pipe */
close(pipefd[1]); /* Close unused write end */
while (read(pipefd[0], &buf, 1) > 0)
write(STDOUT_FILENO, &buf, 1);
write(STDOUT_FILENO, "
", 1);
close(pipefd[0]);
_exit(EXIT_SUCCESS);
} else { /* Parent writes argv[1] to pipe */
close(pipefd[0]); /* Close unused read end */
write(pipefd[1], argv[1], strlen(argv[1]));
close(pipefd[1]); /* Reader will see EOF */
wait(NULL); /* Wait for child */
exit(EXIT_SUCCESS);
}
}
SEE ALSO
fork(2), read(2), socketpair(2), write(2), popen(3), pipe(7)
COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2009-09-15 PIPE(2)