Pages : 1
#1 Le 16/07/2006, à 19:54
- gene69
[bash] zone critique?
Bonjour, j'aimerai savoir comment je peux faire pour empecher deux execussions concourantes d'un script bash, autrement que par la vérification de l'uid parce que ça sert à rien dans mon cas.
je vois que le systeme utilise des fichiers lock mais je ne vois pas comment reproduire le comportement et quelle serait les opérations atomiques?
Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion
Hors ligne
#2 Le 16/07/2006, à 20:06
- tshirtman
Re : [bash] zone critique?
ben vérifier ( if [ -e lock ]; then ) la présence du fichier lock
quitter ou continuer (if )
creer le fichier (commande touch)
script
détruire le fichier (rm)
ça vas comme ça?
bon bien sur c'est pas d'une précision atomique (si les deux instances du script sont lancé dans le même 100em de secondes et que un script fait son test puis l'ordonaceur donne la parole à l'autre script (qui test et crèe le fichier) il y auras bien deux instances mais bon là on est tatillon.
edit: parce que pour tester y'avait plus simple ^^
Dernière modification par tshirtman (Le 16/07/2006, à 20:15)
Hors ligne
#3 Le 16/07/2006, à 22:39
- gene69
Re : [bash] zone critique?
ben je cherche un truc tatillon. parce qu'on va utiliser apt qui vérouille lui mais comme je lui modifie son environnement je voudrais pas qu'il y en ai un autre qui soit lancer sans mon accord et qui fout le bordel.
Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion
Hors ligne
#4 Le 17/07/2006, à 00:58
- tshirtman
Re : [bash] zone critique?
sinon tu peut aussi vérifier le nombre d'instance de ton prog dans ps -fe
après je vois pas faidrait executer une portion du script en mode protégé (ps d'interuption même de l'ordonnaceur), je sais pas si ça se fait en bash (et ça m'étonnerait).
Hors ligne
Pages : 1