There are several ways to do this, but I'm not sure which one of them is the best.
Here's what I can think of:
- Look for the process using pgrep.
- Have the script lock itself using flock, and then check if it is locked each time it runs.
- Create a pid file in /var/run/program_name.pid and check for existence, and compare pids if needed.
There are probably more ways to do this. What do you think is the best approach?