multitee

Section: User Commands (1)
Index Return to Main Contents
 

NAME

multitee - send multiple inputs to multiple outputs  

SYNTAX

multitee [ -osz ] [ -bBv ] [ -ACHUVW ] [ fd-fd,fd,fd... ] ...  

DESCRIPTION

multitee sends multiple inputs to multiple outputs. Given an argument of the form fdin-fdout,fdout,fdout... it will send all input on file descriptor fdin to each descriptor fdout. multitee will never block reading or writing a descriptor (unless it runs out of buffer space---see below).

In the fd arguments, hyphens can be replaced with colons, and any 0 can be omitted. Other than that, each fd must be an integer in the right range. Future extensions to multitee may abuse the syntax of these arguments, so don't insert any extra characters.

Options ACHUVW print the authorship notice, copyright notice, help notice, short usage summary, version number, and warranty information respectively.

multitee has several flags:

-osz
Set maximum output buffer size to sz, default 16384. If multitee overflows an output buffer, it will not read any more characters until the buffer empties down to the maximum buffer size. The actual maximum space taken by buffers is sz for each output buffer, plus 4096 per output fd, though it would take a lot of effort to achieve the latter.
-b
Never block, unless out of buffer space. This is the default. For example, if one output stream is blocked, multitee will not sit around waiting for it to clear up before it processes characters waiting on other streams. This helps prevent deadlock.
-B
Don't be so paranoid about blocking. Some systems do not support true per-process non-blocking I/O; on such systems, multitee will refuse to run unless you specify Under multitee might block when, for instance, it writes more bytes onto a pipe than the pipe has free.

 

EXIT VALUE

0 if all inputs reach end-of-file normally. 1 for usage messages. 2 if a file descriptor is closed. 3 if multitee runs out of memory. 4 in various impossible situations. 5 if you don't specify on machines that don't support true per-process non-blocking I/O. 6 on an I/O error. 7 on an unrecognized error. 8 if multitee hits a secondary storage resource limit (past quota, no more disk space, past process file limit).  

DIAGNOSTICS

fatal: no memory
multitee has run out of memory.
fatal: out of space
multitee has exhausted a secondary storage resource, such as disk space, disk quota, or maximum file size.
fatal: nonblocking I/O not supported
Self-explanatory.
fatal: unopened fd
One of the file descriptors is not open. Sorry, there's no way to figure out which one.
fatal: I/O error
multitee has encountered an error in disk input or output.
weird
This includes various errors, none of which can possibly happen.
 

RESTRICTIONS

multitee simply can't work on machines without siginterrupt(3) as well as it can on machines with that call.  

BUGS

None known.  

MACHINES

multitee has been tested on an Astronautics ZS-2 running ZSUnix and a Sun 4 running SunOS.  

VERSION

multitee version 2.0, dated March 27, 1990.  

AUTHOR

Copyright 1990, Daniel J. Bernstein.  

SEE ALSO

tee(1)


 

Index

NAME
SYNTAX
DESCRIPTION
EXIT VALUE
DIAGNOSTICS
RESTRICTIONS
BUGS
MACHINES
VERSION
AUTHOR
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 21:50:08 GMT, February 02, 2023