OVH Cloud OVH Cloud

arborescence des processus

12 réponses
Avatar
Fred
Bonjour,

J'aurais aimé savoir s'il y avait une façon sioux de réccupérer la liste
des PID des ascendants d'un process?
Je comptais utiliser Process32First et Process32Next, mais ça n'est pas
dispo sur NT. Or, je cherche quelque chose qui serait valable de Windows
95 à nos jours...

Merci d'avance pour votre aide.

Fred

2 réponses

1 2
Avatar
adebaene
Patrick Philippot wrote:
Arnaud a raison et sous Win9X, c'est pareil. Sous Win32, il y a une
notion d'héritage des handles mais pas de filiation.

Le risque de recyclage peu être éliminé par programme si le


processus
"fils" garde une référence en permanence sur le processus "parent".


Tant
que le CloseHandle sur le handle du processus "parent" n'est pas


fait,
l'objet kernel n'est pas détruit et le PID ne sera pas recyclé


même si
le programme en question est terminé.



Oui, mais comment tu fais pour passer le handle du parent au fils? Pour
être sûr, il faudrait que le père ouvre un handle héritable sur
lui-même et qu'il passe la valeur de ce handle au fils lors de sa
création (paramètre en ligne de commande par exemple). Même comme
çà, il n'est pas dit que le père ne se termine pas avant que fils
commence son main()...

Arnaud
MVP - VC
Avatar
Patrick Philippot
wrote:
Oui, mais comment tu fais pour passer le handle du parent au fils?
Pour être sûr, il faudrait que le père ouvre un handle héritable sur
lui-même et qu'il passe la valeur de ce handle au fils lors de sa
création (paramètre en ligne de commande par exemple). Même comme
çà, il n'est pas dit que le père ne se termine pas avant que fils
commence son main()...



Salut Arnaud,

Il est certain qu'il faut à un moment donné un mécanisme d'IPC
quelconque. Mais une API comme DuplicateHandle peut aider. Le processus
créateur peut créer un duplicate pour le processus "fils" (puisqu'il
peut obtenir facilement son handle) et le mettre à sa disposition
"quelque part" au moment du lancement. Le "quelque part" étant à
définir...

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
1 2