lock_unlock - creating and removing a lock file
At some point, every shell programmer must ensure that only one process executes at a given time or otherwise ensures a resource is locked.
Often, it's necessary to prevent more than one instance of the same (or related) programs from running at the same time. For example, you may have daily Oracle open backup, and hourly Oracle archive log backup. Both backups save archived logs and delete them. You do not want two instances to run at the same time, creating unpreditable results.
The idiom to do this in shell is to create a lock file or directory. Whatever instance sets the lock first is authorized to proceed. If another instance executes, but a lock exists, the first instance will either wait for the lock to lift or terminate. When the first instance completes execution, it then removes the lock file, so the next instance can run.
By Michael Wang at Unix Review.
[ Read more ]
- Review: The Complete Linux Shell Programming Training Course (7 March 2003)