One sure way to get a lock is to make a directory.
#!/bin/sh
if mkdir /your/lockdir
then trap "rmdir /your/lockdir" EXIT INT ABRT TERM
...code goes here...
else echo somebody else has the lock
fi
No matter how many processes attempt to make the directory, only one will succeed. That works for my scripting, but I have never used it in C.this is great thanks,
was just wondering, could something else remove the dir in between the if and then, before trap?
Just wondering about the atomicity.
Is this guaranteed to be atomic on all filesystems?