|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() |
Bonjour,
Suite à mon précédent message, j'ai redéfinit mon problème. Je crée un service windows grâce au module Win32: Lors de son démarrage, celui-ci appelle la commande system(), afin de créer un processus qui lance mon programme final. Le problème est que lorsque je stoppe mon service, les processus appelés ne sont pas fermés. Il semble que le processus appelant (celui qui lance system) et le processus appelé (celui lancé par system()), ne soient pas liés par une relation parent-enfant. Une idée? Merci |
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
C'est peut-être au processus lancé par la commande system de créer un lien la commande system ?!...
Mais je n'ai sans doute rien compris...
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() |
De ce que je connais des systèmes d'exploitation, c'est plutôt le processus généré qui devient un processus "fils" du processus générant, qui sera dit "père".
C'est du moins ce que j'ai compris: des nuances existent certainements, et des cas différents doivent exister également, mais il me semblait que ce comportement était celui "par défaut". Après, je ne connais pas assez le comportement de la commande system pour définir la cause de mon problème, et c'est bien pour cela que je viens poser la question ;-) |
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
Ce que je voulais dire, c'est que ce n'était pas la commande system qui était en cause (son fonctionnement est synchrone : elle retourne uniquement si le processus fils qu'elle lance est retourné).
Ce que je voulais dire, c'est que si le processus lancé par la commande system créée lui-même un processus en le détachant de lui-même, ce dernier sera indépendant, et le script ayant lancé la commande system n'y aura plus accès.
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() |
C'est bien là mon problème, et j'ai du mal à y trouver une solution.
1) j'ai besoin que la commande system() retourne pour que mon script de service ne soit pas bloqué, et puisse accepter d'autre callback. Dans le cas contraire, mon programme est bien lancé mais le service reste eternellement dans un statut "stopping" 2) Actuellement, il me semble que le processus intermédiaire, appelé par la commande system() est lui même détaché, car lors du stop du script il n'est pas lui même pas fermé. Ce qui me fait comprendre le sens de ta remarque initiale: il faudrait que j'arrive à lier mon processus intermédiaire et mon processus final au script qui lance system(). |
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
Ca m'a donc plus l'air de ressembler à un problème système qu'à un problème perl... as-tu avancé ? (la réponse pourrait également m’intéresser).
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#7 | |||||
|
Nouveau Membre du Club
![]() e. biherengendeÉtudiant Inscription : octobre 2008 Messages : 8 ![]() |
Peut-être que IPC::System::Simple peut servir.
Code :
Code :
Citation:
|
|||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com