Bonjour
Je recherche a lancer un fichier executable ou script shell (avec ou sans parametres)
avez vous une idée?
Ide Glade
language C++ ou C
Os Linux Ubunto
merci par avance d'aider un pauvre debutant
Version imprimable
Bonjour
Je recherche a lancer un fichier executable ou script shell (avec ou sans parametres)
avez vous une idée?
Ide Glade
language C++ ou C
Os Linux Ubunto
merci par avance d'aider un pauvre debutant
Bonjour,
Si je comprends bien, tu cherches un idée de programme à développer, en C ou C++, sous Linux ?
Si tel est bien le ca, peux-tu préciser ton niveau en développement, et une vague idée de ce que tu cherches à faire ?
A moins que je ne me fourvoies, et que ce soit complètement autre chose que tu cherches à faire ?
Je me suis mal exprime
a partir d'une interface graphique composé d'un bouton ,
Je recherche a lancer soit un programme soit un script shell
par exemple
J'ai fait du c++ buider sous windows mais sous linux je galere
merci encore de votre aide
Bonjour,
J'ai mal compris !
En tout cas, il y a les fonctions de la famille exec, comme execv, execve, execl ....., elle sont bien documentées sur les pages de man
Bonjour
je pose une question bete
j'ai fait un man exec il me dit qu'il ya aucune entre au manuel
je pense que la commande n'est pas installée
comment l'installer ?
merci encore
non, ce n'est pas une question bête, j'ai oublié de te dire qu'il n'existe pas de fonction appelée exec(). Les fonctions de cette famille sot execl, execle, execlp, execv, execve et execvp.Citation:
je pose une question bete
La différence se trouve dans le suffixe (l, e, v, p),
l : liste d'arguments à passer à l'exécutable
e : passer le tableau envp[] à l'exécutable
v : les arguments sont passé dans un tableau à l'exécutable
p : cherchr l'exécutable dans le contenu de la variable PATH
merci encore de vos conseils
auiez vous un petit exemple ?
par exemple pour lancer gedit ?
J'ai essaye ceci
cela ne marche pas ?Code:
1
2 execve("gedit",NULL,NULL);
merci
salut,
voila un code qui marche
Voila un chapitre du livre "Programmation système en c sous linux" de Christophe Blaess, qui explique bien l'exécution des programmes, avec des exemples.Code:
1
2
3
4
5
6
7
8
9 #include <unistd.h> int main(){ execlp("gedit", "gedit", NULL); return 0; }
ICI
Bon courage
en fait quand on appèle un programme en ligne de commande, le 1er argument, (index 0 du tableau donc) est le nom du programme lui même.
Du coup, le 2eme paramètre ne peut as être vide ce qui explique la redondance : tu appèle le progr gedit en lui passant gedit comme premier argument.
Merci a vous tous de vos reponses :)