Re: Timeout

Page principale

Répondre à ce message
Auteur: Frédéric
Date:  
À: Liste Guilde
Sujet: Re: Timeout
On Monday 25 September 2006 12:37, Edgar Bonet wrote:

> Le lundi 25 septembre, Tian a écrit :


> > timeout()
> > {
> > sleep $TIMEOUT
> > kill $PID >/dev/null 2>&1
>
> kill n'enverra rien dans stdout, il suffit de rediriger stderr :
>
>     kill $1 2> /dev/null

>
> > }
> >
> > $COMMAND &
> > PID=`ps --format="pid command" | grep $COMMAND | gawk '{print $1}'`
>
> Plus simplement (et probablement plus robuste) :
>
> PID=$!
>
> > timeout PID &
> > fg %1


Pas mal, comme idée. Mais pourquoi lancer la fonction timeout en tâche de
fond, puis la repasser en premier plan ? Ne peut-on pas faire directement
(en simplifiant) :

COMMAND=blablabla
TIMEOUT=60

$COMMAND &
sleep $TIMEOUT
kill -9 $! >/dev/null 2>&1

--
Frédéric

http://www.gbiloba.org