Les réponses que peuvent t'apporter les membres m’intéresse aussi, je n'ai jamais eu ce besoin mais si je devais imaginer des solutions ce serai les suivantes :
- 1 : Créer un fichier à l'ouverture une sorte de token puis le supprime à la fermeture -> problème : si ton programme plante ou est killé alors le token n'est pas supprimé et tu ne peux plus ouvrir ton programme
- 2: ouvrir une socket sur un port spécifique et check s'il est déja utilisé
Le soucis du Mutex (enfin tel que je le connais, il en existe peut être une autre forme que je ne connais pas), c'est qu'il coordonne des threads, et non des processus. Avec 2 exe qui tournent, on a affaire a du multiprocessus et non du multithread. Dans ce cas, il faut communiquer autrement (socket ou pipe ou .... ou.... ah non... ou signal )
Le soucis du Mutex (enfin tel que je le connais, il en existe peut être une autre forme que je ne connais pas), c'est qu'il coordonne des threads, et non des processus. Avec 2 exe qui tournent, on a affaire a du multiprocessus et non du multithread. Dans ce cas, il faut communiquer autrement (socket ou pipe ou .... ou.... ah non... ou signal )
Dans le cas d'une execution multi-process et non multi-thread il existe la solution des "shared memory" pour partager des données. (On utilisera alors des semaphores, selon le même principe que les mutex).
Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter - Edsger Dijkstra
finalement j'ai créé un fichier qui me sert d'index de lecture
je le lis à l'ouverture de mon programme et je l'incrémente
pendant le fonctionnement du programme je vérifie toutes les deux secondes que mon index n'a pas changé
si j'ouvre un deuxième fichier l'index est incrémenté et fait fermer le programme précédent
c'est un peu simplet comme solution et ça oblige à aller lire mon fichier index toutes les deux secondes
mais ça fonctionne bien sans prendre de risque de plantage
RicoSozinho
programme .exe à ouverture de fenetre unique
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html