Phil's in hospital. Will reply towards end of week.
On Tuesday 10 March 2009, Chuan-kai Lin wrote: > On Mon, Mar 09, 2009 at 10:57:57PM +0100, Samuel Thibault wrote: > > I thought at first "it's not particularly convenient", then "well, so > > what". Now I'm thinking "Mmm, but people won't know they should do > > it and blame xargs for being broken". Also annotate-output is not > > enough when programs e.g. output Packages entries, which not only > > should be line-atomic, but also paragraph-atomic... > > Below is what I had in mind when I mentioned adapting annotate-output > to a different "atomic-output" script. This script is usefull not just > with "xargs -P", but also with "make -j" and with standard background > jobs (shell & operator), all of which produce mixed output. > > Similarly, about matching the number of parallel jobs with the number > of processors/cores, we can write a script "ncpus" which returns the > number of processors/cores/hyper-threads. You can use the ncpus script > with xargs, with make, or with my new project mdm (mdm.berlios.de)... > > I consider separating these concerns (output management, processor > thread detection) into small, separate, and reusable scripts a cleaner > solution. Of course, doing it this way requires some user education, > so a few manpage updates (for example, adding atomic-output and ncpus > to the SEE ALSO section of xargs) may be in order. > > ---------- > > #! /bin/bash > # Display stdout and stderr output after program termination > # Adapted from annotate-output by Chuan-kai Lin > # Original annotate-output author info and copyright notice as follows > > # this script was downloaded from: > # http://jeroen.a-eskwadraat.nl/sw/annotate > # and is part of devscripts 2.10.46 > > # Executes a program annotating the output linewise with time and > stream # Version 1.2 > > # Copyright 2003, 2004 Jeroen van Wolffelaar <jer...@wolffelaar.nl> > > # This program is free software; you can redistribute it and/or modify > # it under the terms of the GNU General Public License as published by > # the Free Software Foundation; version 2 of the License > # > # This program is distributed in the hope that it will be useful, > # but WITHOUT ANY WARRANTY; without even the implied warranty of > # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > # GNU General Public License for more details. > # > # You should have received a copy of the GNU General Public License > # along with this program; if not, write to the Free Software > # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 > USA > > OUT=`mktemp /tmp/atomic.XXXXXX` || exit 1 > ERR=`mktemp /tmp/atomic.XXXXXX` || exit 1 > > echo "------ `date +%H:%M:%S` Started $@" > $ERR > echo "------ STDERR" >> $ERR > echo "------ STDOUT" >> $OUT > "$@" >> $OUT 2>> $ERR ; EXIT=$? > > cat $ERR > cat $OUT > echo "------ `date +%H:%M:%S` Finished with exitcode $EXIT" > rm -f $OUT $ERR > > exit $EXIT > > -- > Chuan-kai Lin > http://web.cecs.pdx.edu/~cklin/ -- Philip Charles; 39a Paterson Street, Abbotsford, Dunedin, New Zealand +64 3 488 2818 Fax +64 3 488 2875 Mobile 027 663 4453 phil...@copyleft.co.nz - personal. i...@copyleft.co.nz - business -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org