|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 138 ![]() |
Bonjour,
je sais que le sujet a déjà été abordé, mais je n'arrive pas à trouver une réponse claire et nette à cette question. Lorsqu'un programme est lancé via un autre programme par la méthode libc.system(), est-ce que le programme "lanceur" attend le retour du programme lancé ? Si oui, comment faire pour lancer un programme sans attendre son retour ? Merci.
__________________
C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison ! (Pierre Desproges) |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
Sinon, voir les fonctions exec.
Mes 2 cts, -- jp |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 138 ![]() |
Merci pour ta réponse,
je vais creuser un peu plus ces fonctions et faire quelques tests. Un simple sleep dans la deuxième apli me permettra de savoir si l'appli "lanceuse" attend le retour de l'appli "lancée". Je reviendrai donner le résultat dans ce post.
__________________
C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison ! (Pierre Desproges) |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 138 ![]() |
Bon je plante le décors
![]() Je développe un CGI (stand-alone). Celui-ci reçoit une trame XML et en renvoie une. Dans ce programme j'appelle un autre programme (pour l'instant il ecrit simplement dans un fichier 'toto'). Donc tout naturellement : Libc.system('monprogram &'); Seulement voilà, dans mes logs tout se déroule correctement, mais pas pour le client qui recoit une erreur 500 du serveur, et le fichier toto n'est pas créé !!! si j'execute ce CGI dans un shell (ce qui n'a pas de sens), le retour du cgi s'affiche bien (stdout), et le fichier 'toto' est créé avec son contenu (un mot). J'ai alors tenté : Libc.system('monprogram > /dev/null &'); Cette fois le retour du cgi est bon, mais pas de fichier 'toto", rien, niet ... En executant dans le shell le cgi, ça fonctionne à nouveau. Je suis devant un gros problème urgentissime (mais ça, ça ne concerne que moi) A ce stade , toutes les idées sont les bien venues
__________________
C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison ! (Pierre Desproges) |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
Yep !
Dans ma première réponse, j'avais mis des doubles quotes pour encadrer la chaîne dans les parenthèses. Toi tu mets des simples quotes... Erreur de recopie ici ? Voir Programmation Linux chez Eyrolles, 2e tirage 2001, p. 374 Mes 2 cts, -- jp |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 138 ![]() |
non, non c'est bien des simple quotes que j'ai mis, et cela ne semble pas poser de problème lorsque j'execute le cgi dans le shell
__________________
C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison ! (Pierre Desproges) |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 138 ![]() |
heu ... demain je me précipite chez un libraire
__________________
C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison ! (Pierre Desproges) |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com