Como você está usando o cron, eu suponho que você comece seu script em intervalos regulares. Cada execução modifica um arquivo de resultado.
Assim, o script pode fazer o seguinte no início:
- verifique se o arquivo de resultado existe (isto é, a primeira execução)
- se isso não ocorrer, crie-o
- calcular a hora de início da execução anterior
- verifique se a hora da modificação do arquivo de resultado é mais recente que esta hora de início
- se não é isso significa que a última corrida ainda não terminou, portanto o script sai sem fazer nada
Os dois primeiros itens estão lá para que o processo seja executado. Se você não incluí-los, a primeira execução não fará nada, já que está aguardando a conclusão de um predecessor não existente.