Skip to content

Instantly share code, notes, and snippets.

@ahoward
Created December 9, 2010 16:33
Show Gist options
  • Save ahoward/734929 to your computer and use it in GitHub Desktop.
Save ahoward/734929 to your computer and use it in GitHub Desktop.
#! /usr/bin/env ruby
status = DATA.flock(File::LOCK_EX | File::LOCK_NB)
if status == 0
puts "we have the lock..."
sleep
else
puts "another process has the lock..."
exit
end
__END__
### this data section MUST be here for DATA.flock to function.
### the user locking the script MUST have write privledges to the script
@lmarburger
Copy link

Great idea! Just today I wrote a backup script and made use of this technique.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment