03-02-2005
For some of this, it's not clear what you want. For many signals, the default action is to terminate the process. This means the kernel kills it pretty much as if the process had called exit(). Some signals can be "caught". This means that a function runs instead. Well behaved processes catch signals and clean up temp files, release resources, etc. But a process cannot catch 9. 9 will instantly kill a process (if it's killable).
A pipe, you write data on one side and read the data from the other side. What else do you want here?
process1 | process2
Kill either process and nothing at all happens to the other process. However the pipe is broken. If process1 dies, the next time that process2 tries a read from the pipe, it will get eof. Many programs will decide to exit at this point. If process2 dies, process1 will get a SIGPIPE on the next write. The default action for SIGPIPE is exit. But a program can catch or ignore the signal. Both mechanisms depend on data flowing across the pipe.
7 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
hi!,
here is an interesting problem .....
I ftp a file named " my first file.doc" from windows to my HP workstation.
Ftp is succesful. The file appears with the same name in my home directory.. But now how do I open this file??
while using Vi or More or other editor, they take only the... (5 Replies)
Discussion started by: jyotipg
5 Replies
2. UNIX for Advanced & Expert Users
After a server reboot for regular mainatanance we face the following situation:
1/ user accounts with ksh can't start the korn shell
2/ korn shell scripts do work however, if executed from bash
3/ normal users with bash can't run ksh
4/ root can run ksh
5/ if I switch the default shell to... (3 Replies)
Discussion started by: rein
3 Replies
3. What is on Your Mind?
I am not a native English speaker. I wanna improve my English. But I am kind of lazy, so I decide to pratice my English by reading English novel. I'd like read books about magic or superman and so on. How can I get that kind of books from Internet? I'll really appreciate it!! (4 Replies)
Discussion started by: virmin
4 Replies
4. Shell Programming and Scripting
Does anyone know how to test if an ethernet interface is alive, or accepting connections? Here is the scenario - I have rsc and sc console interfaces on some Suns. There are some sporadic vulnerability scans that send them out to lunch when they run the scans. I have to login to the host and reset... (0 Replies)
Discussion started by: lm_admin_dh
0 Replies
5. Shell Programming and Scripting
Hi,
I am new in this forum and I am glad to be a part of it. I have a problem that has two parts:
1/ extract just the timestamp from a filename: for example, I have a file called 'sales20080226144525.txt' and I want to extract just the '20080226144525' part out of it.
2/ Now, take that... (5 Replies)
Discussion started by: ChicagoBlues
5 Replies
6. Solaris
Ok Lets say i have a webpage on a solaris box. and i am trying to
make a hyperlink.
This hyperlink references a Microsoft Access file on a Windows box.
So, How do i make a file reference from The unix box to a windows box.
Things to keep in mind
--
1.) Solaris doesnt need to... (6 Replies)
Discussion started by: Demon002
6 Replies
7. Homework & Coursework Questions
1.) I am to write scripts that will be phasetest folder in the home directory.
2.) The folder should have a set-up,phase and display files
I have written a small script which i used to check for the existing users and their password.
What I need help with:
I have a set of questions in a... (19 Replies)
Discussion started by: moraks007
19 Replies
LEARN ABOUT DEBIAN
expect_unbuffer
UNBUFFER(1) General Commands Manual UNBUFFER(1)
NAME
unbuffer - unbuffer output
SYNOPSIS
unbuffer program [ args ]
INTRODUCTION
unbuffer disables the output buffering that occurs when program output is redirected from non-interactive programs. For example, suppose
you are watching the output from a fifo by running it through od and then more.
od -c /tmp/fifo | more
You will not see anything until a full page of output has been produced.
You can disable this automatic buffering as follows:
unbuffer od -c /tmp/fifo | more
Normally, unbuffer does not read from stdin. This simplifies use of unbuffer in some situations. To use unbuffer in a pipeline, use the
-p flag. Example:
process1 | unbuffer -p process2 | process3
CAVEATS
unbuffer -p may appear to work incorrectly if a process feeding input to unbuffer exits. Consider:
process1 | unbuffer -p process2 | process3
If process1 exits, process2 may not yet have finished. It is impossible for unbuffer to know long to wait for process2 and process2 may
not ever finish, for example, if it is a filter. For expediency, unbuffer simply exits when it encounters an EOF from either its input or
process2.
In order to have a version of unbuffer that worked in all situations, an oracle would be necessary. If you want an application-specific
solution, workarounds or hand-coded Expect may be more suitable. For example, the following example shows how to allow grep to finish pro-
cessing when the cat before it finishes first. Using cat to feed grep would never require unbuffer in real life. It is merely a place-
holder for some imaginary process that may or may not finish. Similarly, the final cat at the end of the pipeline is also a placeholder
for another process.
$ cat /tmp/abcdef.log | grep abc | cat
abcdef
xxxabc defxxx
$ cat /tmp/abcdef.log | unbuffer grep abc | cat
$ (cat /tmp/abcdef.log ; sleep 1) | unbuffer grep abc | cat
abcdef
xxxabc defxxx
$
BUGS
The man page is longer than the program.
SEE ALSO
"Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs" by Don Libes, O'Reilly and Associates, January 1995.
AUTHOR
Don Libes, National Institute of Standards and Technology
1 June 1994 UNBUFFER(1)