[C] execl() : Permission denied

LocalStone Messages postés 514 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 1 mars 2009 - 28 déc. 2007 à 02:46
goast_tu Messages postés 212 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 28 mai 2011 - 30 déc. 2007 à 14:50
Salut à tous !
Alors voilà mon soucis ... Je dois dans le cadre d'un projet pour l'école développer une application en C qui doit lancer une autre application écrite en JAVA. Jusque là, je pensais ça faisable, mais je commence à me poser des questions ...
Pour lancer la machine virtuelle JAVA, naturellement, j'ai pensé à utiliser l'appel système execl(). Voici donc mon programme (Sachant que Application.java est dans le même repértoire que l'executable correspondant au code ci-dessous) :

#include <stdio.h>
#include <stdlib.h>
#include

#define JAVA_PATH "/usr/lib/jvm/java-6-sun-1.6.0.00/bin/"

int main() {
   if(execl(JAVA_PATH, "java", "Application") == -1)
   {
      perror("execl()");
      return EXIT_FAILURE;
   }
   return EXIT_SUCCESS;
}

On peut difficilement faire plus simple ... Mais ça ne marche pas, et j'arrive pas à trouver pourquoi. J'ai tenter de faire un chmod +x sur l'executable en root, mais rien n'y fait, j'ai toujours cette erreur : execl(): Permission denied.
Si quelqu'un à une idée, ça m'arrangerait énormément !
Merci d'avance,
LocalStone

1 réponse

goast_tu Messages postés 212 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 28 mai 2011 2
30 déc. 2007 à 14:50
si je ne me trompe pas le 1er argument est le chemain de l'executable et non le chemain du repertoire contenant l'executable. Donc il faut faire

#define JAVA_PATH "/usr/lib/jvm/java-6-sun-1.6.0.00/bin/java"

___________________
Hebergement gratuit
0
Rejoignez-nous