Voir si un script bash est lancé
Résolu
B@|-|@N
Messages postés
386
Statut
Membre
-
B@|-|@N Messages postés 386 Statut Membre -
B@|-|@N Messages postés 386 Statut Membre -
Bonjour tout le monde.
J'espère que vous avez passé un bon week end.
Alors je voudrais savoir comment faire pour voir si mon script est lancé et comment identifier son pid.
En fait si je veux cela, c'est pour éviter que des gens mal intentionnés ne me le lance n fois, n tendant vers beaucoup.
Merci d'avance pour votre aide.
Bahan
--
Close the world.||.txen eht nepO
J'espère que vous avez passé un bon week end.
Alors je voudrais savoir comment faire pour voir si mon script est lancé et comment identifier son pid.
En fait si je veux cela, c'est pour éviter que des gens mal intentionnés ne me le lance n fois, n tendant vers beaucoup.
Merci d'avance pour votre aide.
Bahan
--
Close the world.||.txen eht nepO
5 réponses
-
Pour éviter que ton script ne soit lancé plusieurs fois, tu peux utiliser des verrous en créant un fichier (contenant le PID du shell qui s'exécute tant qu'à faire) dans /var/lock.
Tu rajoutes donc un truc dans le genre en début de ton script :if [ -e "/var/lock/$(basename $0)" ] then echo "le script est déjà lancé, pas possible de le relancer" exit 1 fi echo $$ > /var/lock/$(basename $0)
et en fin :rm /var/lock/$(basename $0)
voilou
Nicolas -
Salut et oui j'ai passer un bon week end Pascal :p merci !
la commande :ps aux
te permet d'afficher les processus en cours (http://www.delafond.org/traducmanfr/man/man1/ps.1.html)
voilà ! -
Salut,
Oui et même que :ps -ef | grep ton_script
devrait le faire ausi. Et si tu veux que le "PID" essaie ça :pgrep ton_script
La preuve :[jp@Mandrake jp]$ ps -ef | grep fich.sh jp 5315 3742 0 11:00 pts1 00:00:00 /bin/bash ./fich.sh jp 5388 5322 0 11:01 pts3 00:00:00 grep fich.sh [jp@Mandrake jp]$ pgrep fich.sh 5315 [jp@Mandrake jp]$
;-)) -
Oui,
Fais bien attention à ce que le fichier de "lock" soit bien supprimé quelle que soit la manière dont ton script bash se termine (si tu as des "exit" qui traînent, gestion d'erreurs, etc., fais une fonction pour terminer ton script de façon clean et appele la systématiquement).
Dal -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -