|
Just thought of including this is as a note.
When creating a lockfiles to control process from spawning when the previous instance are still running.
It is better to avoid common names to the locking files and redirecting just the process id of the process to the control file.
First if common names are use, there is high probability that a same kind of naming convention (same name to the locking file ) be used by other scripts as well so that it would also use the same filename for its own purpose.
If process id is used as a value in the locking file, in a busy system there is a high possibility that a process 'A' running with pid -> pid1 is done with its work and again system can grant a new process 'B' the same pid -> pid1 and we end up controlling a process that shouldn’t be actually.
Hence its better to add some more information like parent process id or timestamp something like that to guarantee the uniqueness.
And the final thing could be to lock the file with perm bits once it is written, so those process which tend to overwrite them will receive an error. Though this is not so secured this way is a bit ahead.
|