Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1290 connectés 

  FORUM HardWare.fr
  Programmation

  [Linux et c] lancement d'une appli a partir de mon programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Linux et c] lancement d'une appli a partir de mon programme

n°83876
bilbobman
Posté le 22-12-2001 à 19:13:39  profilanswer
 

voila , je voudrait lancer une appli a partir de mon programme , sans pour autant etre bloquer , avec la fonction system() , je suis bloquer , quelqu'un aurait-il une idee ??
merci d'avance ++

mood
Publicité
Posté le 22-12-2001 à 19:13:39  profilanswer
 

n°83881
bemixam
Linux vaincra !
Posté le 22-12-2001 à 20:15:02  profilanswer
 

system(¨blabla &¨);
 
mais c est tres porc de faire ca parcequ on a plus aucun controle sur l appli lancee ...
 
il vo mieux utiliser execve ou execvp
il y a toute une serie de execvqqchose
ca permet de recuperer le pid qui seras tres utile
 
man execvp pour les infos

n°83883
R3g
fonctionnaire certifié ITIL
Posté le 22-12-2001 à 20:30:48  profilanswer
 

Si tu veux que ton prog garde la main, il faut faire executer l'appli par un autre processus :
int n = fork();
if (n == 0)
  execlp("appli","nom_a_la_con","param".., NULL);
else
/* Suite du prog */


---------------
Au royaume des sourds, les borgnes sont sourds.
n°83984
bilbobman
Posté le 23-12-2001 à 17:24:08  profilanswer
 

erf , ca marche pas genial ce truc :=(
je viens de tester , ca fait rien du tout , je pige pas
en faite je cherche a lancer un prog (qui tourne en ligne de commande) a partir de mon prog en gtk , je c pas si y a d'autre moyen , sous win avec les api je c faire mais la caca , y  a pa des api qui permete de faire ca sans probleme ??
 
voila ++

n°84042
Fork
Posté le 24-12-2001 à 09:46:36  profilanswer
 

et c'est quoi gtk ??

n°84058
flo850
moi je
Posté le 24-12-2001 à 11:33:50  profilanswer
 

bilbobman a écrit a écrit :

erf , ca marche pas genial ce truc :=(
je viens de tester , ca fait rien du tout , je pige pas
en faite je cherche a lancer un prog (qui tourne en ligne de commande) a partir de mon prog en gtk , je c pas si y a d'autre moyen , sous win avec les api je c faire mais la caca , y  a pa des api qui permete de faire ca sans probleme ??
 
voila ++  




 
normalement , ca marche , je l'utilise regulierement .


---------------

n°84059
Bonhomme
Posté le 24-12-2001 à 11:47:52  profilanswer
 

Fork a écrit a écrit :

et c'est quoi gtk ??  




 
Gtk c'est une surcouche graphique
Ca doit vouloir dire Graphic Tool Kit mais là je ne suis plus très sur
En tout cas c'est très pratique même si à l'époque je ne trouvais pas ça super stable
 
Bonhomme

n°84128
bilbobman
Posté le 24-12-2001 à 23:02:29  profilanswer
 

gtk = Gimp ToolKit  
 
voila je vais re-tester et vous dire quoi , mais la ca devrai aller meiux j'ai eu un bo livre pour nouel ou y explqiue bien coment faire .
sinon , y commence a partir en couille au moment ou y fait : int n = fork(); la il y arrive deja pas , vu que n=-1 donc j'ai une erreur la , enfin je vous dit quoi quand j'ai trouver  
 
++ et merci

n°84137
flo850
moi je
Posté le 25-12-2001 à 02:49:00  profilanswer
 

#include<unistd.h>  
si mes souvenirs sont bons .
a part ca , regarde avec la valeur de ERRNO pour savoir pourquoi n=-1.
la derniere fois qu'il m'a fait ca, c'est que mon prog se multipliait et que j'ai depassé mon nombre de process max ( 128 par defaut ) => reboot du serveur de la fac obligatoire, root a apprecié


---------------

n°84276
MC
retour à la raison
Posté le 25-12-2001 à 21:12:30  profilanswer
 

Tu forkes pour créer deux processus, qui ont tout deux les même données (non partagées!) et le même prog executable. Ensuite dans un de tes processus (que tu identifie par son pid retourné par fork() ), de préférence le père (cad pid = 0 si je me souviens bien). Ensuite un appel a execv permet de charger un nouveau prog en mémoire.
 
Si rien ne marche essaye ca:
 
while(1) fork();
 
:D

mood
Publicité
Posté le 25-12-2001 à 21:12:30  profilanswer
 

n°84279
bilbobman
Posté le 25-12-2001 à 22:01:30  profilanswer
 

vi j'avais pas comprit trop le principe , la je pige mieux en faite l'enfant a la valeur 0 et le parent a une autre valeur (!= de 0) donc ce qui executer dans le if = 0 c pour l'enfant , ca deja je l'avait pas comprit , enfin la ca marche , je c pas pk enfin les myster de l'informatique :=)
 
voila , je vous remercie ++ et encore merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Linux et c] lancement d'une appli a partir de mon programme

 

Sujets relatifs
Construire sa doc .chm à partir d'un code C++[VB] Test sous ACCESS a partir de VB
pb de cookie avec le forum que je programmeDesinstallation de JAVA JRE 1.3.1 linux
Comment creer un graphique à partir d'un VBS ???Eteindre un PC avec un programme JAVA ???
[HTML] exécuter un programme à partir d'un lien[VB]Comment creer un choix en debut de programme? (urgent)
SSH LINUX PROG SHELL 
Plus de sujets relatifs à : [Linux et c] lancement d'une appli a partir de mon programme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR