begin process at 2012 05 30 00:58:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

Fichier & Disque

 > 

ouverture, fermeture programme


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ouverture, fermeture programme

lundi 19 janvier 2009 à 14:59:24 | ouverture, fermeture programme

Guigar

Bonjour a tous

Je voudrais faire un programme qui puisse me lancer un autre programme en C sous linux

ma commande qui permet de le faire est :

system("/mondossier/monprogramme")

jusqu'ici tout va bien... Sauf

que lorsque mon programme C se ferme, le programme "monprogramme" se ferme aussi. Y'a t'il une solution pour forcer "monprogramme" a rester ouvert???

Merci d'avance
lundi 19 janvier 2009 à 21:45:16 | Re : ouverture, fermeture programme

Pistol_Pete

Salut
Je pense qu'il faut créer un nouveau processus pour exécuter monprogramme.
Essaie avec un petit fork et un execlp pour remplacer le code de ton processus père (ou fils)par le code de l'exe monprogramme. La tes 2 programmes seront complètement indépendant.
A+

____________________________________________________________________________
Mon site internet :
  [ Lien ]
[ Lien ]

mardi 20 janvier 2009 à 09:45:01 | Re : ouverture, fermeture programme

Guigar

est ce tu pourrais préciser un peu s'il te plait ? je débute dans le C sous linux.

je sais que le fork sert a la création de processus et que le execlp sert a remplacer un processus par un autre. Mais je ne sais pas trop comment utiliser les 2.

est ce que tu pense que la chose suivante serait bonne  ?

pid_t pid;

   if ((pid = fork()) == -1)
   {  perror("fork"); exit(1);
   }
   if (pid == 0)
   {  execlp("/mondossier/monprograppe", NULL);      
      perror("execlp");
      exit(1);
   }

je n'ai pas encore eu le temps de le tester

merci d'avance
mardi 20 janvier 2009 à 09:51:18 | Re : ouverture, fermeture programme

Guigar

ben en fait je viens de remplacer mon code par celui que je viens de donner et cela fait pareil... comprends pas trop comment ca peur marcher

merci d'avance
mardi 20 janvier 2009 à 15:33:12 | Re : ouverture, fermeture programme

Guigar

en fait j'ai trouvé le probleme

j'aimerai savoir si il existe un parametre a donner a execlp pour ignorer les erreurs de lancement du programme fils ?

car en lancant le programme depuis le mode console, j'ai des erreurs mais le programme se lance, mais depuis le programme C++ les erreurs s'affichent et rien de plus.

(j'ai testé en faisant execlp("nedit",0); et ca marche bien , nedit reste ouvert

merci d'avance
mardi 20 janvier 2009 à 18:21:12 | Re : ouverture, fermeture programme

Pistol_Pete

ReSalut

Je ne comprend pas très bien la différence quand tu dis: quand je lance le programme depuis la console et depuis le programme C++.

Pour savoir s'il y a des paramètres a donner a execlp pour ignorer les erreurs de lancement du programme fils, je ne pense pas que.
execlp ne fait rien de plus que de tout effacer le code de son processus pour le remplacer par le code de ton exe.
Est ce que tu fermes la console aussi?
A+

____________________________________________________________________________
Mon site internet :
  [ Lien ]
[ Lien ]

mardi 20 janvier 2009 à 19:16:06 | Re : ouverture, fermeture programme

Guigar

merci de votre rapidité

je m'explique mieux

je lance donc de mon terminal ou Xterm (ca fait la meme chose) FlightGear

celui ci fait des erreurs au lancement du a une version mauvaise de Glut. Il fait donc des erreurs dans la console, mais continue de se lancer et  marche tres bien a l'écran, pas de probleme de fluidité ou quoique se soit.

Maintenant je veux lancer ce programme depuis un programme en C. Ce que j'arrive parfaitement a faire. La console affiche la premiere erreur, lance la fenetre du jeux, puis la fenetre du jeux se ferme avec les autres erreur sur la console.

Dans les deux cas, les erreurs du au jeux Flightgear sont strictement le meme. En mode manuel, ca marche, en mode lancement via le programme en C, ca plante.... mystere...

donc je pense que le mode console lancé a partir du programme C ne soit pas tout a fait le meme que la vrai console.

Si quelqu'un a une explication...


MErci encore pour vos réponse et vous en remmercie pour celle déja apporté qui m'ont été tres utiles
mercredi 21 janvier 2009 à 08:21:10 | Re : ouverture, fermeture programme

Guigar

probleme résolu j'ai installé la version 2.2 de GLUT plus de soucis, encore merci des infos !!!
mercredi 21 janvier 2009 à 08:21:52 | Re : ouverture, fermeture programme

Guigar

je suis passé de la 2.4.0 de freeglut a la 2.2.0 si ca peut en aider quelque un...

Bonne journée



Cette discussion est classée dans : programme, ouverture, fermeture, ferme, monprogramme


Répondre à ce message

Sujets en rapport avec ce message

Mot de passe à l'ouverture d'une BDD [ par lyricman ] Bonjourje fais un programme en C++ (Borland C++ Builder 6) avec une base de données.le pb est que chaque fois que j'exécute mon programme, il me deman fermeture de windows => applications? [ par spirit ] salut à tousJe voudrais savoir si en fermant windows à l'aide de mon programme, les autres applications fermeront également sans perte de données?et s Fermeture d'un programme et suppression de fichiers [ par greg515 ] Bonjour, voila je cherche un moyen pour fermer un ou plusieurs processus sous win et également le moyen de supimer n ou pluseurs fichier quelqu'un peu fermeture d'un prog externe [ par raymond876 ] Salut, Je ferme un process externe a mon programme, ce process tourne a coté de l'horloge. Je le ferme avec :   hTemp = OpenProcess(PROCESS_ALL_AC ShellExecute et fermeture d'un programme [ par duss44 ] BonjourJe voudrais savoir comment connaître la fermeture d'un programme lancé avec ShellExecuteIl y a toujours qqch à apprendre d'une personne Problème lors de la fermeture de sockets [ par malik7934 ] Hello,J'ai dans mon programme un socket qui est ouvert et j'envoie d'un client vers un serveur (et vice versa) des infos qui sont traîtées à chaque fo Programme détectant ouverture fenêtre [ par goutbouyo ] Salut,J'ai un programme que je met en tâche de fond et qui a pour but de détecter l'ouverture d'un fenêtre(précisée).J'ai réalisé ce code pour faire ç passage de paramètre à l'ouverture [ par SkaPunkMan ] Bonjour,je réalise en ce moment un programme en C et j'aimerai lui passer des paramètres à l'ouverture pour la location d'un fichier utilisé dans le p Fichier qui ne s'écrit pas [ par PsyCaDi ] Bonjour,J'ai un petit pb avec un prog.Je me sers de fstream pour écrire dans un fichier.Voilà rapidement mon code :ofstream Fichier(str_MonFichier);Fi mon programme se ferme pas corectement [ par loicus ] J'ai un bug, mon programme ne se ferme pas corectement, cad :Il se ferme mais sont processus reste actif quand je fais Ctrl alt del et que j'affiche l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales