Armazene o PID do processo crítico como parte do bloqueio e, quando executar o script novamente, verifique se o processo ainda está ativo.
A melhor maneira é usar um diretório de bloqueio em vez de um arquivo de bloqueio, já que o mkdir é uma operação atômica. Você não tem que verificar se o bloqueio existe e, em seguida, criá-lo se não, o que deixa uma janela de oportunidade para outra coisa para obter o bloqueio. Coloque o PID do processo crítico no diretório de bloqueio como um arquivo, etc.
No Linux, você pode usar o utilitário flock que lida com tudo isso para você.