Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create_lock_or_wait () {
- path="$1"
- wait_time="${2:-10}
- while true; do
- if mkdir "${path}.lock.d"; then
- break;
- fi
- sleep $wait_time
- done
- }
- remove_lock () {
- path="$1"
- rmdir "${path}.lock.d"
- }
- #!/bin/bash
- # Makes sure we exit if flock fails.
- set -e
- (
- # Wait for lock on /var/lock/.myscript.exclusivelock (fd 200) for 10 seconds
- flock -x -w 10 200
- # Do stuff
- ) 200>/var/lock/.myscript.exclusivelock
- #!/bin/sh
- LOCKFILE=$HOME/.myscript/lock
- mkdir -p `dirname $LOCKFILE`
- echo Waiting for lock $LOCKFILE...
- if lockfile -1 -r15 $LOCKFILE
- then
- # Do protected stuff here
- echo Doing protected stuff...
- # Then, afterward, clean up so another instance of this script can run
- rm -f $LOCKFILE
- else
- echo "Failed to acquire lock! lockfile(1) returned $?"
- exit 1
- fi
- lockfile ~/.config/mylockfile.lock
- .....
- rm -f important.lock
- flom -- command_to_serialize
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement