recordio progrecordio runs prog. It prints lines to descriptor 2 showing the input and output of prog.
At the beginning of each line on descriptor 2, recordio inserts the prog process ID, along with < for input or > for output. At the end of each line it inserts +, a space, or [EOF]; a space indicates that there was a new line in the input or output, and [EOF] indicates the end of input or output.
recordio prints every packet of input and output immediately. It does not attempt to combine packets into coherent lines. For example,
recordio sh -c 'cat /dev/fd/8 2>&1' > /dev/nullcould produce
5135 > cat: /dev/fd/8: Bad file descriptor 5135 > [EOF]or
5135 > cat: + 5135 > /dev/fd/8+ 5135 > : + 5135 > Bad file descriptor 5135 > [EOF]if the cat program prints several packets.
recordio uses several lines for long packets to guarantee that each line is printed atomically.
recordio runs as a child process of prog. It exits when it sees the end of prog's output.