Sponsored Content
Full Discussion: broken pipe
Top Forums UNIX for Dummies Questions & Answers broken pipe Post 302574021 by fhew on Wednesday 16th of November 2011 09:33:22 AM
Old 11-16-2011
broken pipe

I know what causes 'broken pipe' errors, but I can't understand why I can get it (only occasionally) with my example:

Code:
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 answer.

Actually I'm doing all this inside a perl one liner shown below:

Code:
perl -e '$_=`ps -ef | grep \"\./ans$\" | grep -v grep`; ($_)=(split(" "))[1]; kill TERM, $_ if $_;'

Very infrequently it fails, but of course I need it to 'never' fail!

If the cause is 'a process writing into a closed pipe', it can happen in two places, but I can't fathom why either the 2nd grep would close the pipe on the first one, or that the first grep would close the pipe on the 'ps'.

I would expect the ps to send and EOF and close the pipe on the first grep who would in turn close the pipe on the second grep.

Can anyone explain my dilema?

TIA
Fulko
Moderator's Comments:
Mod Comment Please use code tags!

Last edited by vbe; 11-16-2011 at 10:41 AM.. Reason: code tags rm fonts
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

broken pipe?

Hi there, I try to use: > find * | ls but it just gave me one level of ' ls '. and it said: > find * | ls dir1 dir2 f1 f2 f3 Broken Pipe > what is broken pipe? how can i fix it? thks Gusla (3 Replies)
Discussion started by: gusla
3 Replies

2. UNIX for Dummies Questions & Answers

broken pipe

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

3. UNIX for Advanced & Expert Users

Broken Pipe

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

4. UNIX for Dummies Questions & Answers

Broken Pipe

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

5. Linux

pipe broken

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

6. UNIX and Linux Applications

pipe broken

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 (1 Reply)
Discussion started by: abir2
1 Replies

7. Shell Programming and Scripting

broken pipe

hi i am trying to upload a file using ftp protocol, i am facing some problem while uploading "Failedtoupload:SFTREGUP1:FTP_ASCII_MAILBOX21.39.10.856305000:Broken pipe" Can someone explain why it is coming , and the solution . (0 Replies)
Discussion started by: Satyak
0 Replies

8. Shell Programming and Scripting

Replace pipe with Broken Pipe

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

9. UNIX for Dummies Questions & Answers

broken pipe error

I'm new to scripting, and this forum has been invaluable in helping me out. I'm hoping I can get some personal help now though. I have a korn script that takes a list of servers and either telnets or sshs into it (only some are set up for ssh). What I'm doing now is trying to telnet first, and... (10 Replies)
Discussion started by: aimeet
10 Replies

10. Red Hat

Broken pipe

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
TOGEOMVIEW(1gv) 														   TOGEOMVIEW(1gv)

NAME
togeomview - send commands or OOGL objects to geomview SYNOPSIS
togeomview [-c] [-g] [pipename [program args ...]] DESCRIPTION
togeomview sends a stream of geomview commands, or OOGL-format geometric data, to a cooperating copy of geomview. If geomview is not run- ning, it is automatically started. ('geomview' must be on the $PATH of the user running 'togeomview' in order for this to work.) Typical usage is: someprogram | togeomview (to send commands) or someprogram-generating-OOGL-data | togeomview -g (to send geometry) i.e. a program pipes geometric data into ``togeomview''; the data is displayed by a copy of geomview run with the -M option and a name matching the one given to togeomview. Togeomview uses a named pipe in the directory /tmp/geomview to communicate with geomview. If unspecified, the pipe's default name is "OOGL". When sending geometry (-g), a geomview object with the same name as the pipe appears in geomview's object browser. By default, when no suitable copy of geomview is running, togeomview invokes "geomview" with arguments specifying the appropriate named pipe. A different command may be specified as in: togeomview OOGL gv -wpos 300x300 -c my_startup_script which communicates through a pipe named OOGL, and (if necessary) invokes the given gv command. The pipe name is required if a command is specified. After togeomview has created it, the named pipe may be written as an ordinary file. For example, one could use togeomview pipename < /dev/null to invoke a listening copy of geomview, and then run a program which simply wrote to /tmp/geomview/pipename. FILES
/tmp/geomview BUGS
The pipe-based communications scheme imposes several restrictions. If no copy of geomview is reading from the pipe, or if geomview gets far enough behind, a program writing data to ``togeomview'' will be forced to block after sending a few kilobytes. Because of the buffering in the pipe, the sender may be substantially ahead of the geomview display. If geomview exits, the sending program receives a write-on-broken-pipe (SIGPIPE) signal, which will kill it unless measures are taken to catch or ignore that signal. Only one copy of geomview can read from a given pipe at a time. If a second copy attempts to read from it, both will probably fail. It's fine to have multiple copies of geomview reading from different pipes. Note that togeomview will invoke geomview if no extant copy is listening to the relevant pipe; it can't connect to an existing copy of geomview started by other means. SEE ALSO
geomview(1), oogl(5) Geometry Center 21 May 1993 TOGEOMVIEW(1gv)
All times are GMT -4. The time now is 11:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy