MAN page from Old RedHat 6.X multitee-3.0-0.i386.rpm
multitee
Section: User Commands (1)
Index NAME
multitee - send multiple inputs to multiple outputs
SYNTAX
multitee[
-bsize] [-vQq] [fd-fd,fd,fd...] ... DESCRIPTION
multiteesends multiple inputs to multiple outputs.Given an argument of the form
fdin-fdout,fdout,fdout...it will send all input on file descriptor
fdinto each descriptor
fdout.It will exit when all
fdinare closed.Several arguments may specify outputs from the same
fdin.-fdoutand,fdoutare equivalent.If there is an error of any sort (including SIGPIPE) in writing tofdout,multiteeprints a warning on stderrand forgetsfdoutentirely.(This doesn't affect reads onfdin.)If-fdoutis replaced by:fdoutthenmultiteewill exit upon any SIGPIPEs from that descriptor.
Furthermore,efdmeans that as soon asfdinreaches end of file,fdis considered to reach EOF as well.multiteewill warn about anyinput errorsand then treat them like EOF.
Unliketee,multiteetries its best to continue processing all descriptors even whilesome of them are blocked. However, it will get stuck reading ifsomeone else is reading the descriptor and grabs the input first;it will get stuck writing if an input packet does not fit in anoutput pipe.(If the output descriptor has NDELAY set,andmultiteereceives EWOULDBLOCK,it writes one byte at a time to avoid pipe synchronization problems.)While it is tempting to set the descriptors to non-blocking mode,this is dangerous: other processes using the same open file may not beable to deal with NDELAY.It is incredible that none of the major UNIX vendors or standardscommittees has come up with true per-process non-blocking I/O.(Under BSD 4.3 and its variants, multitee could send timer signalsto itself rapidly to interrupt any blocking I/O. However, this cannotwork under BSD 4.2, and is generally more trouble than it's worth.)A program can set NDELAY before invokingmultiteeif itknows that no other processes will use the same open file.
multiteewill also temporarily stop reading an input descriptor ifmore than 8192 bytes are pending on one of its outputdescriptors. This does not affect independentfdin-fdoutpairs.
multiteehas several flags:
- -bsize
- Change input buffer size from 8192 tosize.
Unlike the previous version ofmultitee,this version does not require output buffers,and does not copy bytes anywhere betweenread() and write().- -v
- Verbose.
-q- Quiet.
multiteewill not use stderr in any way(except, of course, if descriptor 2 isspecified in an argument).- -Q
- Normal level of verbosity.
EXIT VALUE
0 normally.1 for usage messages.3 if
multiteeruns out of memory.4 in various impossible situations.
DIAGNOSTICS
- fatal: out of memory
- multiteehas run out of memory.
- warning: cannot read descriptor
- Self-explanatory.
- warning: cannot write descriptor
- Self-explanatory.
EXAMPLES
multitee 0-1,4,5 4>foo 5>bar
Same astee foo barexcept for better blocking behavior.
multitee 0:1 3:1 4:1,2 6:7
Merge several sources into the output,meanwhile copying 6 to 7and recording 4's input in 2.
tcpclient servermachine smtp multitee 0:7 6:1e0
Same asmconnecton Suns.The e0 tells multitee to quit as soon as the network connection closes.
RESTRICTIONS
multiteeexpects all descriptors involved to be open.Currently a closed descriptor acts like an opendescriptor which can never be written to.
BUGS
None known.
VERSION
multitee version 3.0, 7/22/91.
AUTHOR
Placed into the public domain by Daniel J. Bernstein.
SEE ALSO
tee(1)
Index
- NAME
- SYNTAX
- DESCRIPTION
- EXIT VALUE
- DIAGNOSTICS
- EXAMPLES
- RESTRICTIONS
- BUGS
- VERSION
- AUTHOR
- SEE ALSO
This document was created byman2html,using the manual pages.