n'autoriser qu'une seule exécution d'un .pl à la fois
8 réponses
Pierre-Yves
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En
gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il
n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent Wacrenier
Pierre-Yves <> écrit:
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Est-ce que quelqu'un peut me dire comment faire ?
En posant un vérou : perldoc -f flock
Pierre-Yves <> écrit:
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En
gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il
n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Est-ce que quelqu'un peut me dire comment faire ?
En posant un vérou : perldoc -f flock
thomas mersenne
au démarrage de ton script, tu vérifies la présence d'un fichier flag dans le répertoire courant, si oui, exit si non, tu mets en place ce fichier flag en sortie de script tu supprimes le fichier flag
TM.
"Pierre-Yves" <pyu-at-belbone.be> a écrit dans le message de news: 4045ffc7$0$313$
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Est-ce que quelqu'un peut me dire comment faire ?
Je vous remercie, P-Yves.
au démarrage de ton script,
tu vérifies la présence d'un fichier flag dans le répertoire courant,
si oui, exit
si non, tu mets en place ce fichier flag
en sortie de script tu supprimes le fichier flag
TM.
"Pierre-Yves" <pyu-at-belbone.be> a écrit dans le message de news:
4045ffc7$0$313$ba620e4c@news.skynet.be...
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En
gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il
n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
au démarrage de ton script, tu vérifies la présence d'un fichier flag dans le répertoire courant, si oui, exit si non, tu mets en place ce fichier flag en sortie de script tu supprimes le fichier flag
TM.
"Pierre-Yves" <pyu-at-belbone.be> a écrit dans le message de news: 4045ffc7$0$313$
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Est-ce que quelqu'un peut me dire comment faire ?
Je vous remercie, P-Yves.
jl_morel
Dans l'article <4045ffc7$0$313$, pyu-at-belbone.be a dit...
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Est-ce que quelqu'un peut me dire comment faire ?
Sous Windows, on peut utiliser Win32::Mutex (en standard avec ActivePerl) La doc en français :
http://www.bribes.org/perl/docfr/win32mutex.html
(Avec la méthode wait on peut même faire attendre le deuxième script jusqu'à ce que le premier soit terminé)
#!/usr/bin/perl -w use strict; use Win32::Mutex;
die "Tourne deja !n" if Win32::Mutex->open("mon_script");
my $mutex = Win32::Mutex->new(1, "mon_script");
print "Appuyez sur [enter] pour terminer...n"; <STDIN>;
$mutex->release;
__END__
HTH
-- J-L.M.
Dans l'article <4045ffc7$0$313$ba620e4c@news.skynet.be>, pyu-at-belbone.be a
dit...
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En
gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il
n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Est-ce que quelqu'un peut me dire comment faire ?
Sous Windows, on peut utiliser Win32::Mutex
(en standard avec ActivePerl)
La doc en français :
http://www.bribes.org/perl/docfr/win32mutex.html
(Avec la méthode wait on peut même faire attendre le deuxième script
jusqu'à ce que le premier soit terminé)
#!/usr/bin/perl -w
use strict;
use Win32::Mutex;
die "Tourne deja !n" if Win32::Mutex->open("mon_script");
my $mutex = Win32::Mutex->new(1, "mon_script");
print "Appuyez sur [enter] pour terminer...n";
<STDIN>;
Dans l'article <4045ffc7$0$313$, pyu-at-belbone.be a dit...
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Est-ce que quelqu'un peut me dire comment faire ?
Sous Windows, on peut utiliser Win32::Mutex (en standard avec ActivePerl) La doc en français :
http://www.bribes.org/perl/docfr/win32mutex.html
(Avec la méthode wait on peut même faire attendre le deuxième script jusqu'à ce que le premier soit terminé)
#!/usr/bin/perl -w use strict; use Win32::Mutex;
die "Tourne deja !n" if Win32::Mutex->open("mon_script");
my $mutex = Win32::Mutex->new(1, "mon_script");
print "Appuyez sur [enter] pour terminer...n"; <STDIN>;
$mutex->release;
__END__
HTH
-- J-L.M.
dominix
"Pierre-Yves" <pyu-at-belbone.be> a écrit:
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl.
thomas mersenne wrote:
au démarrage de ton script, tu vérifies la présence d'un fichier flag dans le répertoire courant,
merci de poster a l'endroit sur Usenet, c'est a dire APRES le texte du posteur auquel on repond.
-- dominix
"Pierre-Yves" <pyu-at-belbone.be> a écrit:
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl.
thomas mersenne wrote:
au démarrage de ton script,
tu vérifies la présence d'un fichier flag dans le répertoire courant,
merci de poster a l'endroit sur Usenet, c'est a dire APRES le texte du
posteur auquel on repond.
Je souhaiterais empêcher l'exécution simultanée d'un programme perl.
thomas mersenne wrote:
au démarrage de ton script, tu vérifies la présence d'un fichier flag dans le répertoire courant,
merci de poster a l'endroit sur Usenet, c'est a dire APRES le texte du posteur auquel on repond.
-- dominix
Pierre-Yves
"dominix" @despammed.com> wrote in message news:40462a9c$0$21682$
"Pierre-Yves" <pyu-at-belbone.be> a écrit:
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl.
thomas mersenne wrote:
au démarrage de ton script, tu vérifies la présence d'un fichier flag dans le répertoire courant,
merci de poster a l'endroit sur Usenet, c'est a dire APRES le texte du posteur auquel on repond.
-- dominix
Je voudrais éviter le fichier flag parce que si le script plante (par ex: quitte avec die), le fichier flag n'est pas effacé on ne sait plus lancer le script!
"dominix" <dominix@_@despammed.com> wrote in message
news:40462a9c$0$21682$636a15ce@news.free.fr...
"Pierre-Yves" <pyu-at-belbone.be> a écrit:
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl.
thomas mersenne wrote:
au démarrage de ton script,
tu vérifies la présence d'un fichier flag dans le répertoire courant,
merci de poster a l'endroit sur Usenet, c'est a dire APRES le texte du
posteur auquel on repond.
-- dominix
Je voudrais éviter le fichier flag parce que si le script plante (par ex:
quitte avec die), le fichier flag n'est pas effacé on ne sait plus lancer le
script!
"dominix" @despammed.com> wrote in message news:40462a9c$0$21682$
"Pierre-Yves" <pyu-at-belbone.be> a écrit:
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl.
thomas mersenne wrote:
au démarrage de ton script, tu vérifies la présence d'un fichier flag dans le répertoire courant,
merci de poster a l'endroit sur Usenet, c'est a dire APRES le texte du posteur auquel on repond.
-- dominix
Je voudrais éviter le fichier flag parce que si le script plante (par ex: quitte avec die), le fichier flag n'est pas effacé on ne sait plus lancer le script!
Pierre-Yves
"Jean-Louis MOREL" wrote in message news:c254eu$e1b$
Dans l'article <4045ffc7$0$313$, pyu-at-belbone.be a
dit...
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Est-ce que quelqu'un peut me dire comment faire ?
Sous Windows, on peut utiliser Win32::Mutex (en standard avec ActivePerl) La doc en français :
http://www.bribes.org/perl/docfr/win32mutex.html
(Avec la méthode wait on peut même faire attendre le deuxième script jusqu'à ce que le premier soit terminé)
#!/usr/bin/perl -w use strict; use Win32::Mutex;
die "Tourne deja !n" if Win32::Mutex->open("mon_script");
my $mutex = Win32::Mutex->new(1, "mon_script");
print "Appuyez sur [enter] pour terminer...n"; <STDIN>;
$mutex->release;
__END__
HTH
-- J-L.M.
Merci! C'est ce que je cherche sauf que le script tourne sous Sun Solaris :-( J'aurais du précéser...
"Jean-Louis MOREL" <jl_morel@bribes.org> wrote in message
news:c254eu$e1b$1@news-reader4.wanadoo.fr...
Dans l'article <4045ffc7$0$313$ba620e4c@news.skynet.be>, pyu-at-belbone.be
a
dit...
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En
gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il
n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Est-ce que quelqu'un peut me dire comment faire ?
Sous Windows, on peut utiliser Win32::Mutex
(en standard avec ActivePerl)
La doc en français :
http://www.bribes.org/perl/docfr/win32mutex.html
(Avec la méthode wait on peut même faire attendre le deuxième script
jusqu'à ce que le premier soit terminé)
#!/usr/bin/perl -w
use strict;
use Win32::Mutex;
die "Tourne deja !n" if Win32::Mutex->open("mon_script");
my $mutex = Win32::Mutex->new(1, "mon_script");
print "Appuyez sur [enter] pour terminer...n";
<STDIN>;
$mutex->release;
__END__
HTH
--
J-L.M.
Merci!
C'est ce que je cherche sauf que le script tourne sous Sun Solaris :-(
J'aurais du précéser...
"Jean-Louis MOREL" wrote in message news:c254eu$e1b$
Dans l'article <4045ffc7$0$313$, pyu-at-belbone.be a
dit...
Je souhaiterais empêcher l'exécution simultanée d'un programme perl. En gros lors de l'exécution de mon programme je voudrais qu'il vérifie si il n'y a pas déjà un process de ce programme qui est entrain de s'exécuter.
Est-ce que quelqu'un peut me dire comment faire ?
Sous Windows, on peut utiliser Win32::Mutex (en standard avec ActivePerl) La doc en français :
http://www.bribes.org/perl/docfr/win32mutex.html
(Avec la méthode wait on peut même faire attendre le deuxième script jusqu'à ce que le premier soit terminé)
#!/usr/bin/perl -w use strict; use Win32::Mutex;
die "Tourne deja !n" if Win32::Mutex->open("mon_script");
my $mutex = Win32::Mutex->new(1, "mon_script");
print "Appuyez sur [enter] pour terminer...n"; <STDIN>;
$mutex->release;
__END__
HTH
-- J-L.M.
Merci! C'est ce que je cherche sauf que le script tourne sous Sun Solaris :-( J'aurais du précéser...
thomas mersenne
"Pierre-Yves" <pyu-at-belbone.be> a écrit dans le message de news: 4046da68$0$323$
"dominix" @despammed.com> wrote in message news:40462a9c$0$21682$
"Pierre-Yves" <pyu-at-belbone.be> a écrit:
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl.
thomas mersenne wrote:
au démarrage de ton script, tu vérifies la présence d'un fichier flag dans le répertoire courant,
merci de poster a l'endroit sur Usenet, c'est a dire APRES le texte du posteur auquel on repond.
-- dominix
Je voudrais éviter le fichier flag parce que si le script plante (par ex: quitte avec die), le fichier flag n'est pas effacé on ne sait plus lancer le
script!
sur un die tu peux intercepter l'exception avec un eval ou alors tu positionnes un signal handler qui nettoie avant de sortir
TM.
"Pierre-Yves" <pyu-at-belbone.be> a écrit dans le message de news:
4046da68$0$323$ba620e4c@news.skynet.be...
"dominix" <dominix@_@despammed.com> wrote in message
news:40462a9c$0$21682$636a15ce@news.free.fr...
"Pierre-Yves" <pyu-at-belbone.be> a écrit:
Bonjour,
Je souhaiterais empêcher l'exécution simultanée d'un programme perl.
thomas mersenne wrote:
au démarrage de ton script,
tu vérifies la présence d'un fichier flag dans le répertoire courant,
merci de poster a l'endroit sur Usenet, c'est a dire APRES le texte du
posteur auquel on repond.
-- dominix
Je voudrais éviter le fichier flag parce que si le script plante (par ex:
quitte avec die), le fichier flag n'est pas effacé on ne sait plus lancer
le
script!
sur un die tu peux intercepter l'exception avec un eval
ou alors tu positionnes un signal handler qui nettoie avant de sortir