Check presence du pid ...

Résolu/Fermé
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 19 nov. 2008 à 12:55
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 19 nov. 2008 à 16:16
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 lundi 17 novembre 2008 Statut Membre Dernière intervention 19 novembre 2009 2
19 nov. 2008 à 13:04
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
19 nov. 2008 à 13:33
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 lundi 17 novembre 2008 Statut Membre Dernière intervention 19 novembre 2009 2
19 nov. 2008 à 13:43
c'est vraix
j'aime me compliquer la vie lol
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
19 nov. 2008 à 14:09
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 jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
19 nov. 2008 à 16:16
la solution :

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