$file='/tmp/parser_status.lock';
if(!flock($lock_file = fopen($file, 'w'), LOCK_EX | LOCK_NB))
die("Already runninng\n");
В начала файла. И на крон каждую минуту..
Если что-то пойдет не так, блокировка снимется и запустится новый скрипт.
Костыль конечно, но работает уже несколько лет :)