Comment suspendre un processus sous Windows en passant par ses threads ?
ijneb11
Messages postés3Date d'inscriptionsamedi 12 mars 2005StatutMembreDernière intervention16 avril 2008
-
3 avril 2008 à 17:34
ijneb11
Messages postés3Date d'inscriptionsamedi 12 mars 2005StatutMembreDernière intervention16 avril 2008
-
16 avril 2008 à 22:12
Bonjour,
Je développe une application 3D en python qui fonctionne sous Linux ET sous Windows. Tout marche (à peu près) bien, excepté un point particulier sur les processus que je n'arrive pas à résoudre.
En fait, mon application a 2 processus (Process du module processing) dont un qui gère toute la partie GTK. Et comme GTK est relativement gourmant même quand il ne fait rien, je suspends le processus concerné quand je n'en ai pas besoin (réduire sa priorité n'est pas suffisant).
Sous Linux, aucun problème, mais sous Windows ... Après quelques recherches, j'ai découvert les modules win32api, win32process (et les autres win32). Je vois comment Démarrer/Arrêter processus et threads, suspendre/reprendre les threads. Mais je n'ai rien trouvé pour suspendre/reprendre un processus ! Mais, par exemple, ProcessExplorer le fait.
Donc, je continue mes recherches et la seule solution envisageable est de trouver tous les threads du processus (tout processus ayant au moins 1 thread) et de les suspendre.
D'où ma question : comment récupérer la liste des threads d'un processus ?
ijneb11
Messages postés3Date d'inscriptionsamedi 12 mars 2005StatutMembreDernière intervention16 avril 2008 16 avril 2008 à 22:12
Merci pour l'info, ça peut m'être bien utile car je ne m'était pas beaucoup penché sur WMI pour mon problème.
Cet exemple ne montre pas comment accéder aux threads à priori mais peut-être qu'en fouillant à partir de ça je trouverai quelque chose.