Précédent   Forum des professionnels en informatique > Environnements de développement > Delphi > Kylix
Kylix Environnement de développement RAD sous Linux avec compilateur natif pour Delphi
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/12/2007, 17h57   #1
Membre du Club
 
Avatar de Nillak
 
Inscription : octobre 2006
Messages : 138
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : octobre 2006
Messages : 138
Points : 45
Points : 45
Par défaut Kylix Libc system

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)
Nillak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2007, 19h05   #2
Membre Expert
 
Inscription : juillet 2006
Messages : 1 677
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2006
Messages : 1 677
Points : 1 812
Points : 1 812
Code :
system("prog_à_lancer &");
Sinon, voir les fonctions exec.
Mes 2 cts,
--
jp
Jipété est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 14h03   #3
Membre du Club
 
Avatar de Nillak
 
Inscription : octobre 2006
Messages : 138
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : octobre 2006
Messages : 138
Points : 45
Points : 45
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)
Nillak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 18h43   #4
Membre du Club
 
Avatar de Nillak
 
Inscription : octobre 2006
Messages : 138
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : octobre 2006
Messages : 138
Points : 45
Points : 45
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)
Nillak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 18h56   #5
Membre Expert
 
Inscription : juillet 2006
Messages : 1 677
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2006
Messages : 1 677
Points : 1 812
Points : 1 812
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
Jipété est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 21h01   #6
Membre du Club
 
Avatar de Nillak
 
Inscription : octobre 2006
Messages : 138
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : octobre 2006
Messages : 138
Points : 45
Points : 45
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)
Nillak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 21h03   #7
Membre du Club
 
Avatar de Nillak
 
Inscription : octobre 2006
Messages : 138
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : octobre 2006
Messages : 138
Points : 45
Points : 45
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)
Nillak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 21h20   #8
Membre Expert
 
Inscription : juillet 2006
Messages : 1 677
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2006
Messages : 1 677
Points : 1 812
Points : 1 812
Citation:
Envoyé par Nillak Voir le message
heu ... demain je me précipite chez un libraire
Sauramps !
--
jp
Jipété est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h59.


 
 
 
 
Partenaires

Hébergement Web