From ilug-admin@linux.ie Wed Jul 31 15:15:10 2002
Return-Path: <ilug-admin@linux.ie>
Delivered-To: yyyy@localhost.netnoteinc.com
Received: from localhost (localhost [127.0.0.1])
by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 7F5AC440C8
for <jm@localhost>; Wed, 31 Jul 2002 10:15:09 -0400 (EDT)
Received: from phobos [127.0.0.1]
by localhost with IMAP (fetchmail-5.9.0)
for jm@localhost (single-drop); Wed, 31 Jul 2002 15:15:09 +0100 (IST)
Received: from lugh.tuatha.org (root@lugh.tuatha.org [194.125.145.45]) by
dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g6VEFx227713 for
<jm-ilug@jmason.org>; Wed, 31 Jul 2002 15:15:59 +0100
Received: from lugh (root@localhost [127.0.0.1]) by lugh.tuatha.org
(8.9.3/8.9.3) with ESMTP id PAA08305; Wed, 31 Jul 2002 15:13:30 +0100
Received: from claymore.diva.ie (diva.ie [195.218.115.17] (may be forged))
by lugh.tuatha.org (8.9.3/8.9.3) with ESMTP id PAA08272 for
<ilug@linux.ie>; Wed, 31 Jul 2002 15:13:24 +0100
X-Authentication-Warning: lugh.tuatha.org: Host diva.ie [195.218.115.17]
(may be forged) claimed to be claymore.diva.ie
Received: from localhost (claymore [195.218.115.17]) by claymore.diva.ie
(8.9.3/8.9.3) with ESMTP id PAA24416 for <ilug@linux.ie>; Wed,
31 Jul 2002 15:13:23 +0100
Received: from 194.125.174.143 ( [194.125.174.143]) as user
rcunniff@mail.boxhost.net by webmail.gameshrine.com with HTTP;
Wed, 31 Jul 2002 15:13:23 +0100
Message-Id: <1028124803.3d47f0834c261@webmail.gameshrine.com>
Date: Wed, 31 Jul 2002 15:13:23 +0100
From: Ronan Cunniffe <ronan@cunniffe.net>
To: Irish Linux Users Group <ilug@linux.ie>
Subject: Re: [ILUG] Piping to multiple processes (which might die)?
References: <200207310157.g6V1vLX04925@linux.local>
In-Reply-To: <200207310157.g6V1vLX04925@linux.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: Internet Messaging Program (IMP) 3.0
X-Originating-Ip: 194.125.174.143
Sender: ilug-admin@linux.ie
Errors-To: ilug-admin@linux.ie
X-Mailman-Version: 1.1
Precedence: bulk
List-Id: Irish Linux Users' Group <ilug.linux.ie>
X-Beenthere: ilug@linux.ie
Quoting Brian Foster <blf@utvinternet.ie>:
> | I did the following:
> |
> 1| $ mkfifo f1
> 2| $ lav2yuv capture.avi | yuvdenoise | tee f1 | mpeg2enc blah blah &
> 3| $ cat f1 | mpeg2enc different blah blah
> |
> | And hey! It works! Until somebody dies! Yippe... oh. [ ... ]
>
> ( a winner of the Useless Use of cat(1) Award: you don't need
> the `cat f1 |' in the 3rd line, a simple `<f1' will suffice. )
Grrr... I've had that bad habit since MS-DOS 3.2
> upshot is a POSIX.2 `tee' would probably spit out an error
> message if one of the `mpeg2enc's dies, but the remaining
> one would continue to be fed data and hence run until it
> either completes or dies for reasons of its own. which is
> exactly what you want! so what is happening??
<contrition>
Oops.
</contrition>
Um, my test was to tee to a fifo I didn't read from... resulting in the other
reader hanging around forever.... not realising that never-opened-for-reading
and opened-and-later-closed might be different. Sensible behaviour has now been
observed.
> incidently, if your shell and system both support process
> redirection, you could do the above as a one-liner. syntax
> varies depending on the shell, but in bash(1) and ksh(1):
>
> lav2yuv capture.avi | yuvdenoise | \
> tee >(mpeg2enc different blah blah) | mpeg2enc blah blah
mpeg2enc generates stats during the run, so I give each one an xterm.
Thanks,
Ronan
--
Irish Linux Users' Group: ilug@linux.ie
http://www.linux.ie/mailman/listinfo/ilug for (un)subscription information.
List maintainer: listmaster@linux.ie