Ну, вы могли бы использовать nohup для запуска того, что вы используете в «неблокирующем режиме». Таким образом, вы можете просто продолжать проверять, запускается ли то, что должно было выполняться, иначе выходите.
nohup ./my-script-that-may-take-long-to-finish.sh &
./check-if-previous-script-ran-or-exit.sh
echo "Script ended on Feb 15, 2011, 9:20AM" > /tmp/done.txt
Итак, во втором вы просто проверяете, существует ли файл.