Obtenir le pid du "grand père" d'un processus

Obtenir le pid du "grand père" d'un processus - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 07-03-2005 à 13:37:35    

Hello tous,
 
Je cherche un moyen d'obtenir le pid du grand père d'un processus.  
Voici ma situation :
Etablissement liaison ppp, lancement du script ip-up par pppd, lancement de mon executable par le script ip-up.
 
pppd -------> ip-up -------> mon executable.
 
De mon executable, il faudrait que je puisse atteindre son grand pere, qui devrait etre pppd afin de pouvoir kill pppd quand j'en ai le besoin. (il peut y avoir plusieurs liaisons pppd en même temps d'ou mon soucis)


Message édité par barbaputas le 07-03-2005 à 13:41:15
Reply

Marsh Posté le 07-03-2005 à 13:37:35   

Reply

Marsh Posté le 07-03-2005 à 14:05:31    

Il faudrait passer en argument a ton code la variable $PPID
dans ip-up qui contient le numero deu processus parent du script.

Reply

Marsh Posté le 07-03-2005 à 15:35:21    

Effectivement c'est une idée. Mais comment obtenir le pid à partir du script ?  
Je vais tenter de chercher sur cette voie.

Reply

Marsh Posté le 07-03-2005 à 17:35:21    

pstree -p
Ca devrait etre assez simple si tu vais le parsing en perl.

Reply

Marsh Posté le 07-03-2005 à 18:52:26    

Merci. J'etais dans mon nuage et j'ai très mal lu ce que disais Momch. Ca marche impeccablement.

Reply

Marsh Posté le 07-03-2005 à 19:41:18    

Y'a pas un fichier ou une variable dans lequel pppd colle son pid sinon ?

Reply

Marsh Posté le 07-03-2005 à 20:18:51    

Rien vu dans le man à ce propos.

Reply

Marsh Posté le 07-03-2005 à 20:43:25    

chez moi le pid de ppd est dans  /var/run/ppp0.pid


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 07-03-2005 à 21:03:15    

Pour les scripts de ip-up.d, c'est accessible dans $PPPD_PID.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed