Bonjour,
La doc mentionne la variable $PID ou $PROCESS_ID ou encore comme en shell unix $$ pour obtenir le process id du process courant.
Sous windows XP ou NT cette variable est toujours vide.
Comment obtenir le numéro du process courant ?
Bonjour,
La doc mentionne la variable $PID ou $PROCESS_ID ou encore comme en shell unix $$ pour obtenir le process id du process courant.
Sous windows XP ou NT cette variable est toujours vide.
Comment obtenir le numéro du process courant ?
Il existe un module dans CPAN: Win32::Process::List
Oui, merci ça peut aider,
mais c'est un contournement
mais il semble que l'on soit obliger de passer
par la liste des process que l'on peut obtenir par ailleurs avec la commande
"tasklist" et donc fournir le nom du process courant, ce qui déplace le problème. Il existe dans perlfunc getppid (get parent process ID) mais pas getcpid (get current process id) probablement du fait que $PID existe.
Mais le problème c'est que sous Windows ça ne semble pas marcher
Les process Unix ne sont pas vraiment gérés pareil que les process windows, ceci expliquant cela... Cela n'est pas génant pour toi de passer par un module si ?
Je sais pas si Windows 95, 98 et ME ont des numéros de processus. Ça pourrait expliquer pourquoi la variable $$ est vide sous les plateformes Windows. J'avoue que c'est un peu fatiguant...
Est-ce qu'il pourrait y avoir une différence d'implémentation? Je n'utilise pas Perl sous Windows, mais $$ pourrait être défini sous ActivePerl et pas sous VanillaPerl.
ca serais étonnant, $$ appartient tout de même au standard Perl...Envoyé par GnuVince
Mais vous savez, il me semble que les fonctions C getpid() et getppid() appartiennent à la librairie unistd.h, c'est pas pour rien![]()
Les fonctions C fonctionnent sous Windows?
Je n'est pas l'impression que ce soit le cas non, soit mon compilo me joue des tours, soit même le fork ne passe pas en réalité...Envoyé par GnuVince
Partager