Check presence du pid ...

Résolu
sbouli Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   -  
sbouli Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

3 réponses

jerem1985 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

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

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