Forum Programmation.shell comment sortir d'une boucle apres un nombre ?

Posté par  .
Étiquettes : aucune
0
25
juil.
2006
Bonjour,

Je souhaite faire un petit shell qui toutes les minutes pendant 1 heure vérifie un certain nombre de process.
- Si au bout d'une heure ( la boucle ce termine) il y a encore des process, les kill l'un après l'autre.

- Si moins d'une heure, il n'y a plus de process, sort de la boucle et fin du shell.

J'ai un doute sur mon code ?
Comment faire si au bout d'une heure ils restent encore des process ?

Voici le code:

i=60
while [ "$i" -lt 60 ]; do # 60 = le nombre de fois la boucle
sleep 60 # 60 = le nombre en seconde
i=$(expr $i + 1)
echo "\n\011Vérifcation N° $i"
procc=`ps -ef | grep -c "mon_process"`
if [ $procc = 0 ]
then echo "\011Il n'y a plus de process actif "; exit
else echo "\011Il reste encore des process actifs: $procc"
fi
done
  • # me semble que...

    Posté par  . Évalué à 2.

    tu as deja posté cette meme question y a 2 ou 3 jours...
    les reponses données ne te plaisaient pas ?
    • [^] # Re: me semble que...

      Posté par  . Évalué à 1.

      voire meme ce matin tres tot
      genre ici : http://linuxfr.org/forums/26/17953.html
      à 0h01
      • [^] # Re: me semble que...

        Posté par  . Évalué à 1.

        Oui mais regarde bien quand tu vas sur le lien que tu as mis en repondant si gentillement, le poste ne demandait pas de l'aide sur la commande ( ps ), on s'eloignait du sujet.

        Peut etre du a la canicule :-)




        A mediter Monsieur qui repond vite ..................
        • [^] # Re: me semble que...

          Posté par  . Évalué à 2.

          Le truc c'est que tu n'as pas l'air de chercher beaucoup, ton bon de code n'étant pas vraiment différent de celui que je t'ai donné.
          Alors sachant que les commandes unix ont des noms se rapprochant beaucoup de leur fonction, quelle commande permet de tuer tous les processus d'un programme ?...
        • [^] # Re: me semble que...

          Posté par  . Évalué à 1.

          la question de ce post, suivi d'un exemple de code

          Bonjour,

          Je souhaite faire un petit shell qui toutes les minutes pendant 1 heure vérifie un certain nombre de process.

          - Si au bout d'une heure ( la boucle ce termine) il y a encore des process, les kill l'un après l'autre.

          - Si moins d'une heure, il n'y a plus de process, sort de la boucle et fin du shell.

          J'ai un doute sur mon code ?
          Comment faire si au bout d'une heure ils restent encore des process ?


          la question du post precedent qui est lui aussi suivi d'un exemple de code :

          Je cherche comment faire un compteur:
          [...]
          Ce que je souhaite faire, c'est :
          1) arrêt de l'appli
          2) faire un compteur qui toute les 60s vérifie le nombre de process puis au bout de 60 minutes kill ce qui reste.
          3) si y a kill, lance la réparation de la base.

          Le point 1 et 3 j'ai trouve mais pas le point 2.

          Pour le point 2 j'ai pensé:


          à par la zone de code qui change les questions sont restées les memes à peu de chose pres.

          faire un nouveau post pour reposer la meme question en changeant juste le code n'etait surement pas utile.

          pour le PS, il me semble que c'est
          ps -C nom_de_la_commande
        • [^] # Re: me semble que...

          Posté par  . Évalué à 1.

          en même temps, si 50 personnes se mettent à te parler de ps en réponse à ton post, et que personne ne parle d'autre chose, c'est peut-être parce que ps va t'aider hein ;-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.