MadCoder wrote:
> 
> Le Mercredi 9 Janvier 2002 20:06, Rénald CASAGRAUDE a écrit :
> > Rénald CASAGRAUDE wrote:
> > > ret=`ps aux | grep prog | wc -l`
> > > if [ ret -ne 0 ] ; then
> > >         # lance ton prog
> > > fi
> > >
> > > Et comme ca ?
> >
> > Oups me suis tromper...
> > C'est plutôt :
> > if [ $ret -eq 0 ]
> > et pas :
> > if [ ret -ne 0 ]
> et puis c'est même -ne 1 parce que il y aura la ligne du "grep prog" ...

Bonsoir à tous,

2 problèmes :
        1/ le grep n'y figure pas forcément (problème de timing entre le tube
et le ps)
        2/ cette solution est une « instruction if », pas une « boucle » (il
n'existe d'ailleurs pas de « boucle if »)

donc :

while true ; do
    if [ ! `ps ax | grep $prog | grep -v "grep $prog"` ]; then
        $prog
    fi
    sleep 10
done

Si l'intervalle de pause doit être plus long (ici 10 secondes), utiliser
cron (fonctionne en minutes).

-- 
   __     __________________________________________________     __   
  |oo|   | Sylvain Sauvage, doctorant [IAD & SMA]           |   |oo|  
  <_)|   |       GREYC -- CNRS UMR 6072, Université de Caen |   <_)|  
 //  \\  |                                                  |  //  \\ 
(_|  |_) |       http://www.info.unicaen.fr/~sauvage        | (_|  |_)
|_\==/_| |________ mailto:[EMAIL PROTECTED] __________| |_\==/_|

Répondre à