Check presence du pid ...

Résolu
sbouli Messages postés 208 Statut Membre -  
sbouli Messages postés 208 Statut Membre -
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. jerem1985 Messages postés 68 Statut Membre 2
     
    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

    :-)
    0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Pas besoin d'une variable pour ça ;-)
    ps -p $(cat /home/admin/prog.pid) -no-headers 
    0
    1. jerem1985 Messages postés 68 Statut Membre 2
       
      c'est vraix
      j'aime me compliquer la vie lol
      0
  3. sbouli Messages postés 208 Statut Membre 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
    0
    1. sbouli Messages postés 208 Statut Membre 2
       
      la solution :

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