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

  FORUM HardWare.fr
  Programmation
  Divers

  n'autoriser qu'une seule exécution simultanée d'un programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

n'autoriser qu'une seule exécution simultanée d'un programme

n°427595
Taz
bisounours-codeur
Posté le 14-06-2003 à 16:06:26  profilanswer
 

qu'est ce que vous utilisez pour faire ça? moi j'utilise un fichier créé au démarrage du programme, j'y mets le pid de du programme. en fin d'exécution, le fichier est détruit. si le programme plante et qu'on tente de le relancer le pid ecrit dans le fichier et la date du fichier permettent de pas rester bloquer.
 
mais je voudrais savoir ce qu'il existe comme autre technique

mood
Publicité
Posté le 14-06-2003 à 16:06:26  profilanswer
 

n°427598
Profil sup​primé
Posté le 14-06-2003 à 16:06:30  answer
 

:)

n°427599
Taz
bisounours-codeur
Posté le 14-06-2003 à 16:07:11  profilanswer
 

"c'est bien tu es rapide, mais est tu résistant ?"

n°427601
*syl*
--> []
Posté le 14-06-2003 à 16:09:40  profilanswer
 

Tu peux utiliser un mutex mais faut voir le cas où le prog plante pour savoir si oui ou non le mutex est releasé... [:spamafote]

n°427604
Profil sup​primé
Posté le 14-06-2003 à 16:14:41  answer
 

il faut autoriser une ressource unique que tu lockes à la première instanciation et delockes à la destruction.

n°427605
Taz
bisounours-codeur
Posté le 14-06-2003 à 16:15:38  profilanswer
 

et prosaïquement on peut faire ça comment? (et sous système unix)

n°427616
*syl*
--> []
Posté le 14-06-2003 à 16:27:21  profilanswer
 

http://www.atrid.fr/telechargement/rtlinux/x194.html
 
et ton prog :
-teste l'état du mutex
 libre -> le prog n'est pas lancé
 pas libre -> y'a déjà une instance du prog
-qd tu quittes, tu le libère

n°427617
Taz
bisounours-codeur
Posté le 14-06-2003 à 16:28:45  profilanswer
 

euh ça c'est pour le multithreading, ça peut pas fonctionner dans mon cas

n°427758
LeGreg
Posté le 14-06-2003 à 22:34:17  profilanswer
 

- Tu fais la liste des process  
et tu regardes si ton programme y est deja.
- Tu lockes un fichier temporaire.
- Tu as une dll partagee qui a une variable
globale initialisee une seule fois quelque soit le nombre
d'instances du programme. (il faut que la dll ait sont propre contexte d'execution)
- quand tu lances ton programme tu rebootes la machine et tu fais le menage dans les scripts d'autoexecution.
 
LeGreg

n°427761
Taz
bisounours-codeur
Posté le 14-06-2003 à 22:46:01  profilanswer
 

tes solutions 1 / 3 / 4 sont pas envisageables notemment pour des petits programmes. je suis entrain de tester avec un petit segment de mémoire partagée


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

  n'autoriser qu'une seule exécution simultanée d'un programme

 

Sujets relatifs
programme de compilationProgramme --> Clique automatique
Le premier qui me fait se programme !!!!!Comment récupérer les numéros de tel entrants dans un programme C++ ?
Comment exécuter un programme à partir du VBA dans excelProgramme d'archivage de fichiers
Vitesse d'exécution des dernières versions de Dephi[socket] en lecture ou écriture seule
[ASP] arreter l'execution du code?[Projet] Programme d'encodage/decodage Audio/Video MPEG-1/2/4
Plus de sujets relatifs à : n'autoriser qu'une seule exécution simultanée d'un programme


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