Obtenir la liste des process Windows actif, est-ce possible? - Perl - Programmation
Marsh Posté le 03-03-2005 à 16:46:33
sous Unix, je faisais un appel système je trouve ca pas très propre car je ne connais pas de fonction native pour obtenir la-dite liste
sous windows, il faudrait peut-être passer par des exécutables externes ?
Marsh Posté le 03-03-2005 à 19:23:59
Oui c'est peut-être une bonne idée, je n'y avais pas pensé. Je vais essayer avec l'utilitaire tlist.exe.
Merci couak!
Marsh Posté le 08-03-2005 à 09:15:09
J'ai aussi testé pslist pour extraire le nom de certaines appli et çà marche nickel !
Merci pour l'info juste en dessous Aricoh
Marsh Posté le 08-03-2005 à 10:46:01
couak a écrit : sous windows, il faudrait peut-être passer par des exécutables externes ? |
Si tu es sous un windows NT, tu peux faire appel aux utilitaires de PsTools.
Avec ces utilitaires (que tu peux utiliser dans ton script Perl), tu peux suivre les processus en cours, les killer, vérifier qu'ils ne tournent plus avec un kill, etc.
http://www.sysinternals.com/ntw2k/ [...] ools.shtml
Marsh Posté le 27-06-2006 à 10:25:19
J'ai essayé d'utiliser pslist via le perl, mais celà me renvoi l'erreur suivante :
Code :
|
mon code d'appel :
Code :
|
Pourtant cela marche bien quand je passe par l'invite de commande (cmd.exe)
Quelqu'un a une idée ?
Marsh Posté le 28-06-2006 à 11:49:42
essayes tasklist si tu es sous winxp ou 2003, c'est une commande inclus de base avec ces OS
Marsh Posté le 17-07-2007 à 11:17:49
Essai cela.
use Win32::OLE('in');
# perform all of the initial steps in one swell foop
$sobj = Win32::OLE->GetObject(
'winmgmts:{impersonationLevel=impersonate}')
or die "can't create server object: ".Win32::OLE->LastError( )."\n";
foreach $process (in $sobj->InstancesOf("Win32_Process" )){
print $process->{Name}." is pid #".$process->{ProcessId},"\n";
}
Marsh Posté le 03-03-2005 à 16:39:52
Bonjour,
je suis nouveau en programmation PERL. J'aimerais savoir comment faire pour obtenir la liste des process qui sont actuellement actif dans Windows? Est-ce possible?
J'ai lu la documentation sur Win32::Process, mais, à ce que j'en comprend, les possibilités(killer, suspend, resume, etc) sont seulement pour les process créés dans le programme PERL(Win32::Process::Create()).
Merci pour votre aide!