Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation du Sleep en ksh sous Solaris

Sujet résolu
    16 novembre 2017 à 10:32:32

    Bonjour à tous.

    Comme indiqué dans le titre je souhaite mettre en pause un script Ksh pour environ 5 secondes

    Désolée je ne peut pas vraiment poster mon script en entier mais je vais quand même illustrer mon propos.

    Mon script va tué un processus si il est lancé par root. Ce processus est configuré dans ma inittab donc il respawn automatiquement. 

    Une fois le respawn effectué je voudrais vérifier que le processus est bien repartie avec un compte Utilisateur. 

    Cependant j'ai besoin d'attendre quelques secondes, car si je vérifie trop vite le processus n'a pas le temps de repartir. 

    Je rencontre des difficultés à utiliser le sleep.
    Exemple : 

    trap "" 1 2 15
    ps -e | grep mon processus | xargs kill -9 sleep 5 newconf=`ps -efa | grep mon processus | awk '{print $10}' | sort +0 | sed -n 2p` echo "Nouveau type de Conf: $newconf"
    trap 1 2 15

    Dans cette configuration le sleep ne fonctionne pas et la suite du script n'est pas prise en compte. Et je reviens en suite sur mon prompt

    j'ai aussi essayé : 

    ps -e | grep mon processus | xargs kill -9
     
    ( sleep 5 ;newconf=`ps -efa | grep mon processus | awk '{print $10}' | sort +0 | sed -n 2p`)
    
    echo "Nouveau type de Conf: $newconf"

    Mais sans résultat. J'ai pas mal cherché sur le web et  visiblement un simple sleep 5 devrait fonctionner. Je ne pense pas que ce soit les trap qui me posent soucis mais je peu me tromper.

    cependant 

    ps -e | grep mon processus | xargs kill -9
    
    newconf=`ps -efa | grep mon processus | awk '{print $10}' | sort +0 | sed -n 2p`
    
    ( sleep 5 ;echo "Nouveau type de Conf: $newconf" )

    fonctionnent bien mais la valeur de la variable n'a pas le temps de se mettre a jour. Et le echo apparaît directement dans mon prompt une fois le script fini.

    J’espère avoir été suffisamment claire.

    Merci d'avance et bonne journée. 


    -
    Edité par noxtribe 16 novembre 2017 à 11:28:47

    • Partager sur Facebook
    • Partager sur Twitter
    Admin System Unix, Junior
      5 décembre 2017 à 15:08:01

      un  &> placé  plus haut dans le script faisait  passer le sleep en arrière plan.
      • Partager sur Facebook
      • Partager sur Twitter
      Admin System Unix, Junior

      Utilisation du Sleep en ksh sous Solaris

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown