* Schmitt, Martin ([EMAIL PROTECTED]) wrote/schrieb:

> my $pcount = 0;
> open PIPE, "ps ax|";
> while (<PIPE>){
>       if (/prozd-0/){
>               die "Wargh!!! Ich laufe schon woanders!\n" if (++$count >
> 1);
>       }
> }
> close PIPE;
> 
> Und dabei ist noch nicht geklärt, ob man nicht vielleicht aus Perl selbst
> auf die Prozeßliste zugreifen kann, bzw. ob zumindest /proc nicht irgendwo
> ein schöneres Interface bietet als dieses fiese "ps". ;-)

So gehts besser:

open LOCK, ">$lockfile" or die "Could not create $lockfile: $!\n";
if (flock(LOCK,2|4)){
        print LOCK "$$\n";
}else{
        close LOCK;
        die "Another instance seems to be running! Aborted.\n";
}

Ciao,

-martin

-- 
PUG - Penguin User Group Wiesbaden - http://www.pug.org
---------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an