IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI Delphi Discussion :

[Kylix] Libc system


Sujet :

EDI Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    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.

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("prog_à_lancer &");
    Sinon, voir les fonctions exec.
    Mes 2 cts,
    --
    jp

  3. #3
    Membre confirmé Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    Par défaut
    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.

  4. #4
    Membre confirmé Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    Par défaut
    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

  5. #5
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    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

  6. #6
    Membre confirmé Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    Par défaut
    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

Discussions similaires

  1. [Kylix] pb avec le Libc.system sous redhat
    Par zheng dans le forum EDI
    Réponses: 1
    Dernier message: 15/07/2004, 10h58
  2. [Kylix] PB Utilisation libc.system
    Par Louargant Bertrand dans le forum EDI
    Réponses: 1
    Dernier message: 19/06/2003, 18h36
  3. [Kylix] PIOFILE ,libc.system....??
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 06/12/2002, 22h34
  4. Réponses: 7
    Dernier message: 29/10/2002, 10h51
  5. [Kylix] libc.system
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 19/10/2002, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo