Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Checking for multiple instances

by TedPride (Priest)
on Sep 24, 2004 at 19:41 UTC ( [id://393648]=note: print w/replies, xml ) Need Help??


in reply to Checking for multiple instances

$0 should give the path to the script, unless it's implemented differently in various verions of Perl? You can use this to create a lock file and lock it (/path/script.pl.lock), then check for a lock every time you start the script. The following should work unless the cron job takes longer than two additional cron calls (flock waits forever until it can lock the file itself), and you can easily modify the routines to exit if the lock file exists.
$fh1 = &file_lock("$folder/index.html"); &file_unlock($fh1); sub file_lock { my $fhandle; my $fpath = (shift) . '.lock'; open($fhandle, ">$fpath"); flock($fhandle, 2); return [$fhandle, $fpath]; } sub file_unlock { my $inp = shift; my ($fhandle, $fpath) = @$inp; flock($fhandle, 8); close($fhandle); unlink($fpath); }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://393648]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (8)
As of 2024-04-25 11:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found