[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