URL: https://linuxfr.org/forums/programmation-shell/posts/syst%C3%A8me-de-verrou-1-2-sisi-avec-linux Title: système de verrou ( 1 = 2, sisi avec linux ) Authors: un compte supprimé Date: 2007年11月05日T17:31:13+01:00 Tags: Score: 0 Je viens à votre rencontre pour vous aider dans ma recherche ^^ (voilà une manière de dire que l'on as besoin d'aide). Plus sérieusement, je tente de me défaire des fichiers verrous que l'on peut créer dans nos scripts, tels que ceux que l'on peut mettre dans le /var/run. J'ai pensé à une méthode, celle de compter le nombre de processus en cours et si le nombre de processus est égal à 2 ou supérieur .... c'est que le script est déjà en exécution. Certes, simple comme idée, ca marche en console, mais dans un script, ce n'est pas la même chose. Voilà le petit script en question ( vous pourrai le montrer à un prof de math ... ) : #!/bin/sh ps aux | grep '/bin/sh' | grep " 0ドル$\|/0ドル$" | grep -v 'grep' | wc -l # le résultat est 1 if [ `ps aux | grep '/bin/sh' | grep " 0ドル$\|/0ドル$" | grep -v 'grep' | wc -l` -eq 2 ] £spaces£ £/spaces£then £spaces£ £/spaces£echo "le resultat 1 est egal a 2" £spaces£ £/spaces£fi # ici, c'est 2 Certes ... c'est vrai, ca fonctionne, la même ligne hors du if donne 1 et la même ligne avec un if donne 2. Je pense qu'il y a une sorte de multi-thread ... et je ne sais pas comment résoudre mon soucis. Il y a t'il une manière de vérifier suivant les process si le script a déjà été lancé avant ? Sans se fier avec la date/heure de début de script, car ca fonctionne, mais avec 1 minute de marge, et c'est très long pour un script fou. Merci d'avance.

AltStyle によって変換されたページ (->オリジナル) /