[vox-tech] Idea for 'tee' -- shut up already!
Kyle Ambroff
ambroff at lindenlab.com
Fri Dec 3 14:35:22 PST 2010
This is an evil, evil hack, but you could just attach to the tee
process with gdb and replace the stdout file descriptor with
/dev/null.
$ gdb --pid=$(pidof tee)
(gdb) p dup2(open("/dev/null", 0), 1);
$1 = 1
(gdb) quit
...
Quit anyway? (y or n) y
Detaching from program: /usr/bin/tee, process ....
This should work. You should continue to see new data written to
output.txt, but nothing should be printed to stdout. Someone else may
have a less insane idea though :).
On Fri, Dec 3, 2010 at 2:13 PM, Bill Kendrick <nbs at sonic.net> wrote:
>
> So I'm grepping & cut'ing a huge log file (6.4 million lines)
> and made the mistake of deciding to pipe it through "tee" to
> watch for a while. I forgot to do this from within a "screen"
> session, so I'm kind of stuck staring at it in a terminal. *sigh* :)
>
> I don't want to watch any more, and wish I could do something like,
> I dunno maybe like this...?
>
>
> $ cat hugefile.log | grep whatever | cut -f 1,2,3 | tee output.txt
> {huge dump of data}
> ^Z
> [1]+ Stopped cat hugefile.log | grep whatever | cut -f 1,2,3 | tee output.txt
> $ kill -SIGUSR1 %1
>
> And then resume:
>
> $ fg
> {wonderful silence}
>
>
> or background:
>
> $ bg
> [1]+ cat hugefile.log | grep whatever | cut -f 1,2,3 | tee output.txt &
> $
>
>
> In other words, a way to tell tee to "shut up" and stop dumping to stdout
> any more (but keep copying from stdin to the file specified).
>
>
> I wonder, is there any other Linux'y trick I can use in the meantime?
> (Maybe fiddling in /proc ? ;) )
>
>
> --
> -bill!
> Sent from my computer
> _______________________________________________
> vox-tech mailing list
> vox-tech at lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech
More information about the vox-tech
mailing list