1*6486b015SJeremie Le Hen.\" Copyright (c) 2012 Jeremie Le Hen <jlh@FreeBSD.org> 2*6486b015SJeremie Le Hen.\" All rights reserved. 3*6486b015SJeremie Le Hen.\" 4*6486b015SJeremie Le Hen.\" Redistribution and use in source and binary forms, with or without 5*6486b015SJeremie Le Hen.\" modification, are permitted provided that the following conditions 6*6486b015SJeremie Le Hen.\" are met: 7*6486b015SJeremie Le Hen.\" 1. Redistributions of source code and documentation must retain the above 8*6486b015SJeremie Le Hen.\" copyright notice, this list of conditions and the following disclaimer. 9*6486b015SJeremie Le Hen.\" 2. Redistributions in binary form must reproduce the above copyright 10*6486b015SJeremie Le Hen.\" notice, this list of conditions and the following disclaimer in the 11*6486b015SJeremie Le Hen.\" documentation and/or other materials provided with the distribution. 12*6486b015SJeremie Le Hen.\" 13*6486b015SJeremie Le Hen.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14*6486b015SJeremie Le Hen.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15*6486b015SJeremie Le Hen.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16*6486b015SJeremie Le Hen.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17*6486b015SJeremie Le Hen.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18*6486b015SJeremie Le Hen.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19*6486b015SJeremie Le Hen.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20*6486b015SJeremie Le Hen.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21*6486b015SJeremie Le Hen.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22*6486b015SJeremie Le Hen.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23*6486b015SJeremie Le Hen.\" SUCH DAMAGE. 24*6486b015SJeremie Le Hen.\" 25*6486b015SJeremie Le Hen.Dd April 28, 2012 26*6486b015SJeremie Le Hen.Dt STDBUF 1 27*6486b015SJeremie Le Hen.Os 28*6486b015SJeremie Le Hen.Sh NAME 29*6486b015SJeremie Le Hen.Nm stdbuf 30*6486b015SJeremie Le Hen.Nd change standard streams initial buffering 31*6486b015SJeremie Le Hen.Sh SYNOPSIS 32*6486b015SJeremie Le Hen.Nm 33*6486b015SJeremie Le Hen.Op Fl e Ar bufdef 34*6486b015SJeremie Le Hen.Op Fl i Ar bufdef 35*6486b015SJeremie Le Hen.Op Fl o Ar bufdef 36*6486b015SJeremie Le Hen.Op Ar command Op ... 37*6486b015SJeremie Le Hen.Sh DESCRIPTION 38*6486b015SJeremie Le Hen.Nm 39*6486b015SJeremie Le Henis used to change the initial buffering of standard input, 40*6486b015SJeremie Le Henstandard output and/or standard error streams for 41*6486b015SJeremie Le Hen.Ar command . 42*6486b015SJeremie Le HenIt relies on 43*6486b015SJeremie Le Hen.Xr libstdbuf 3 44*6486b015SJeremie Le Henwhich is loaded and configured by 45*6486b015SJeremie Le Hen.Nm 46*6486b015SJeremie Le Henthrough environment variables. 47*6486b015SJeremie Le Hen.Pp 48*6486b015SJeremie Le HenThe options are as follows: 49*6486b015SJeremie Le Hen.Bl -tag -width Ds 50*6486b015SJeremie Le Hen.It Fl e Ar bufdef 51*6486b015SJeremie Le HenSet initial buffering of the standard error stream for 52*6486b015SJeremie Le Hen.Ar command 53*6486b015SJeremie Le Henas defined by 54*6486b015SJeremie Le Hen.Ar bufdef 55*6486b015SJeremie Le Hen.Pq see Sx BUFFER DEFINITION . 56*6486b015SJeremie Le Hen.It Fl i Ar bufdef 57*6486b015SJeremie Le HenSet initial buffering of the standard input stream for 58*6486b015SJeremie Le Hen.Ar command 59*6486b015SJeremie Le Henas defined by 60*6486b015SJeremie Le Hen.Ar bufdef 61*6486b015SJeremie Le Hen.Pq see Sx BUFFER DEFINITION . 62*6486b015SJeremie Le Hen.It Fl o Ar bufdef 63*6486b015SJeremie Le HenSet initial buffering of the standard output stream for 64*6486b015SJeremie Le Hen.Ar command 65*6486b015SJeremie Le Henas defined by 66*6486b015SJeremie Le Hen.Ar bufdef 67*6486b015SJeremie Le Hen.Pq see Sx BUFFER DEFINITION . 68*6486b015SJeremie Le Hen.El 69*6486b015SJeremie Le Hen.Sh BUFFER DEFINITION 70*6486b015SJeremie Le HenBuffer definition is the same as in 71*6486b015SJeremie Le Hen.Xr libstdbuf 3 : 72*6486b015SJeremie Le Hen.Bl -tag -width size -offset indent 73*6486b015SJeremie Le Hen.It Qq 0 74*6486b015SJeremie Le Henunbuffered 75*6486b015SJeremie Le Hen.It Qq L 76*6486b015SJeremie Le Henline buffered 77*6486b015SJeremie Le Hen.It Qq B 78*6486b015SJeremie Le Henfully buffered with the default buffer size 79*6486b015SJeremie Le Hen.It Ar size 80*6486b015SJeremie Le Henfully buffered with a buffer of 81*6486b015SJeremie Le Hen.Ar size 82*6486b015SJeremie Le Henbytes (suffixes 'k', 'M' and 'G' are accepted) 83*6486b015SJeremie Le Hen.El 84*6486b015SJeremie Le Hen.Sh EXAMPLES 85*6486b015SJeremie Le HenIn the following example, the stdout stream of the 86*6486b015SJeremie Le Hen.Xr awk 1 87*6486b015SJeremie Le Hencommand 88*6486b015SJeremie Le Henwill be fully buffered by default because it does not refer 89*6486b015SJeremie Le Hento a terminal. 90*6486b015SJeremie Le Hen.Nm 91*6486b015SJeremie Le Henis used to force it to be line-buffered so 92*6486b015SJeremie Le Hen.Xr vmstat 8 Ns 's 93*6486b015SJeremie Le Henoutput will not stall until the full buffer fills. 94*6486b015SJeremie Le Hen.Bd -literal -offset indent 95*6486b015SJeremie Le Hen# vmstat 1 | stdbuf -o L awk '$2 > 1 || $3 > 1' | cat -n 96*6486b015SJeremie Le Hen.Ed 97*6486b015SJeremie Le Hen.Sh SEE ALSO 98*6486b015SJeremie Le Hen.Xr libstdbuf 3 , 99*6486b015SJeremie Le Hen.Xr setvbuf 3 100*6486b015SJeremie Le Hen.Sh HISTORY 101*6486b015SJeremie Le HenThe 102*6486b015SJeremie Le Hen.Nm 103*6486b015SJeremie Le Henutility first appeared in 104*6486b015SJeremie Le Hen.Fx 8.4 . 105*6486b015SJeremie Le Hen.Sh AUTHORS 106*6486b015SJeremie Le Hen.An -nosplit 107*6486b015SJeremie Le HenThe original idea of the 108*6486b015SJeremie Le Hen.Nm 109*6486b015SJeremie Le Hencommand comes from 110*6486b015SJeremie Le Hen.An Padraig Brady 111*6486b015SJeremie Le Henwho implemented it in the GNU coreutils. 112*6486b015SJeremie Le Hen.An Jeremie Le Hen 113*6486b015SJeremie Le Henimplemented it on 114*6486b015SJeremie Le Hen.Fx . 115