ну можно так:
твой скрипт пишет в my.pid текущий timestamp. и каждые Н-секунд обновляет содержимое файла
запуск во втором процессе скрипта проверит есть ли файлик и какое в нем время, и если оно больше времени_когда_скрипт_считатся_зависшим, то спокойненько запускается.