Check presence du pid ...

Résolu
Bonjour,

Je cherche à vérifier l'existence d'un processus dont le pid est dans un fichier
/home/admin/prog.pid

j'imagine que c'est un test autour de ps, genre

ps -p xxx -no-headers

mais comment rediriger le contenu du fichier pid et comment faire le test à proprement parler ??

Merci d'avance.

3 réponses

  1. salut
    je te propose de taper sa
    var=`cat /home/admin/prog.pid` ; ps -p $var -no-headers

    pour t'expliquer var et une variable qui va contenir ton numero de pid, tu envoye ensuite ce pid dans ta commande ps et sa roule

    :-)
    1. Modérateur
      Salut,

      Pas besoin d'une variable pour ça ;-)
      ps -p $(cat /home/admin/prog.pid) -no-headers 
      1. c'est vraix
        j'aime me compliquer la vie lol
    2. Donc je peux faire un

      if [ 'ps -p $(cat /home/admin/prog.pid) -no-headers' -eq 0 ]; then
      sh /home/admin/lance.sh
      fi

      ??

      Stéphane
      1. la solution :

        if [ `ps -p $(cat /home/admin/prog.pid) --no-headers | wc -l` -ne 1 ]