Bonjour,
Dans un programme en perl-gtk ? est-il possible d'interdire plusieurs instances du programme / de ne pas avoir la possiblité de le lancer deux fois en meme temps ?
Merci
Forum Programmation.perl interdire plusieurs instances du meme programme
11
avr.
2005
# locking
Posté par gc (site web personnel) . Évalué à 2.
# Tout dépend...
Posté par Larry Cow . Évalué à 6.
Une bidouille permettant d'éviter l'effacement manuel : à la création du fichier verrou, ajouter dedans le PID du processus en cours. En cas de lancement d'une instance du programme, vérifier non seulement l'existence du fichier, mais aussi l'existence d'un processus de même PID que ce qui est indiqué dans le fichier.
Dans tous les cas, tout cela est faisable aussi bien en Perl (gtk ou pas), en Python, en C, en Bash, ...
Par contre, si tu cherches à éviter que l'utilisateur ne puisse parvenir à lancer deux instances du même programme, c'est plus difficile: il pourra toujours éditer ton code et désactiver le test. Pour ça, en dehors d'une solution hard à la palladium (et encore), je ne vois pas trop.
[^] # Re: Tout dépend...
Posté par Mouns (site web personnel) . Évalué à 2.
il est donc aussi préférable de controler le creation time le comparer à l'uptime de la machine, le last-write par rapport à un processus existant et son uptime.
ne pas oublier de faire un unlink du fichier à la fin du programme ;)
pour empecher ce genre de chose, il suffit d'une gestion de ticket qui donne aussi les tickets d'acces à une base ou un truc du genre ... ce qui fait que si tu n'as pas de ticket pas de données ... donc pas de probleme :)
une couche SSO fait tres bien l'affaire ... il y a CAS dont j'ai entendu parlé qui fonctionne pour la partie SSO en HTTP ( LWP pour perl ), sinon kerberos qui peut etre une usine à gaz.
je me pose la question par rapport à PAM ... pam permettant de controler l'authentification, pourquoi ne pas le mettre de ce coté ? sudo/su/ssh marche avec ... pourquoi pas ton soft ?
par contre, pour PAM, et Kerberos, je ne sais pas quelle est la difficulté pour perl pour ce qui est de CAS, les outils sont là si un outil n'existe pas déjà.
[^] # Re: Tout dépend...
Posté par Matthieu Moy (site web personnel) . Évalué à 3.
Y'a des bibliothèques toutes faites pour faire du lock de manière fiable (il parait que c'est fiable même sur du NFS, mais j'ai des doutes là).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.