The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #2 (permalink)  
Old 01-03-2009
Panos1962 Panos1962 is offline
Registered User
  
 

Join Date: Dec 2008
Location: Thessaloniki, GREECE
Posts: 29
There is another solution to this problem, but you have to add some code to your `myscript.sh'. Put some kind of lock while your program is runing, e.g. if your program is a shell script, you can add the following lines:

Code:
...
lock=/export/home/.myscript.lock
trap "rmdir ${lock}; exit 2" 1 2 3 15
# Now lock. If lock fails, then propably the program is runing.
mkdir ${lock} || exit 0
...
Here comes the script code
...
# Now unlock, so another instance of this program can run in the future.
rmdir ${lock}
I prefer this kind of coding in such cases, because it's better to protect this kind of programs to run overlaping processes. So, either you prefer cron, or sleeping nohup shell scripts, the process is vulnerable to run in simultaneus instances; if you use some kind of locking this is impossible.
Bye...