Как не дать скрипту выполняться, если другая его копия уже запущена?
Если существует файл /tmp/ваш_скрипт.lock - завершить работу.
Создать файл /tmp/ваш_скрипт.lock
Выполнить работу.
Удалить файл /tmp/ваш_скрипт.lock

Подвох: если ваш скрипт упал, не дойдя до последнего пункта - больше он не запустится. Так что на п. 1 стоит предусмотреть - "если файл существует и моложе 10 минут", например.
Как вариант - создать хендл write для файла. Если первый скрипт создал, то второй уже не сможет.