|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre régulier
![]() |
Bonjour,
Je travaille à faire tourner mon script perl sous windows en tant que service. J'utilise à cette fin le module Win32: Mon script perl est lancé par un .bat, ce dernier étant lui même appelé via la fonction system() La commande ressemble à: Citation:
Citation:
Cepandant après l'appel à system(), déclenché lors du démarrage de mon service, la propriété "command line" du gestionnaire de tâches est la suivante: Citation:
Note: Tant qu'a faire, j'aimerai également savoir comment récupérer le PID du process lancé par mon .bat. La chaine est la suivante: Service.pl -> cmd.exe -> script.pl Merci. |
|||
|
00
|
|
|
#2 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 553 ![]() |
Bonjour,
J'ai un peu de mal à comprendre ce que vous faite, j'ai l'impression que c'est tiré par les cheveux tout ça. Que souhaitez-vous concrètement faire ? Je ne vois pas le perl dans votre demande ?
__________________
|
|
|
00
|
|
|
#3 | ||
|
Membre régulier
![]() |
Bonjour,
La propriété "title" d'un processus est ce qui apparaît dans la colonne "Windows title", lorsque l'on effectue la commande suivante: Citation:
Lorsque je crée un processus via l'interpréteur de commande: Citation:
Lorsque je lance cette même commande via la commande system() de perl, ou bien avec l'opérateur backticks (``), le titre n'est pas bien pris en compte. |
||
|
00
|
|
|
#4 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 553 ![]() |
Bah il faut nous montrer ton programme Perl.
__________________
|
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 553 ![]() |
Chez moi cela fonctionne dans mon programme perl :
Code :
system 'start "Mon titre du programme" ' . '"C:/Documents and Settings/user/Bureau/tk.pl"';
__________________
|
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() |
Je viens de comprendre la raison de mon problème.
Si on lance le programme perl qui contiens system(la_commande_START) via une ligne de commande, le titre est bien définit car une nouvelle fenêtre est effectivement créée. Lorsque la fonction est appelée via un service windows, aucune nouvelle fenêtre n'est générée, aucun titre n'est donc pris en compte. Ce qui m'amène à redéfinir mon problème (je vais créer un nouveau sujet). Ce dernier est le suivant: La commande system(), dans mon service, créé un processus qui ne semble pas lié par une relation "parent-enfant", au script perl appelant, lancé par le service. Lorsque je ferme le service, le script appelant est bien fermé, mais pas le processus lancé par la commande system() |
|
00
|
Copyright © 2000-2013 - www.developpez.com