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

 


Dernière réponse
Sujet : [Linux et c] lancement d'une appli a partir de mon programme
bilbobman 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

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
bilbobman 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
MC 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
flo850 #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é
bilbobman 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
Bonhomme

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

flo850

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 .

Fork et c'est quoi gtk ??
bilbobman 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 ++
R3g 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 */
bemixam 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
bilbobman 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 ++

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)