Page 1 sur 1

[R] Interdire l'exécution de deux processus identiques

Posté : mer. 29 août 2007 18:57
par XcessiV
Bonsoir tout le monde !

J'ai une question qui me triture le cerveau...

Est il possible d'empecher l'execution de deux processus identiques lors de l'execution de celui-ci ?

J'ai pensé à vérifier l'existence du processus et si'il existe, quitter, mais cela fermerai les deux...
Du coup il faudrait pouvoir renommer un processus en cours, mais je ne sais pas comment faire :(

Posté : mer. 29 août 2007 20:59
par sylvanie

Code : Tout sélectionner

#include <Misc.au3>
_Singleton ( $occurrenceName [,$flag=0 ]] )
 
ceci implémente un concept léger de mutex, il suffit que dans un script tu utilises

si _Singleton ("mon_identifiant_rien_qu_a_moi",1)=0 alors exit
sinon continue

le plus simple pour constater le résultat est de copier coller 2 fois l'exple fournis, de compiler chacun et de lancer les deux exe portant pourtant des noms différents pour voir que ça marche.
Bien moins prise de tete que les mutex en C orienté win32, mais faut pas se leurer, ils sont cachés la dessous ^^

Posté : jeu. 30 août 2007 09:53
par XcessiV
Cool merci :)

Tu connais ces fonctions par coeur ?
Tu fait comment pour trouver ton bonheur alor que les fonctions ont des noms qui n'ont rien à voir avec ce que l'on cherche ?

Posté : jeu. 30 août 2007 21:36
par sylvanie
Utilise Autoit depuis 3 ans et regarde à chaque fois les sortie et ce qu'il y a de nouveau ... En plus c'est le genre de fonction qui marque bien.

Posté : ven. 04 janv. 2008 23:30
par arrkhan
désolé du déterrage mais en relisant la function il y a plus simple que
si _Singleton ("mon_identifiant_rien_qu_a_moi",1)=0 alors exit
sinon continue
_Singleton ( "test123",0) suffit et ça économise quelques octets ^^