Minha sugestão seria adicionar algum bloqueio de arquivo e verificação ao seu script. Cronjob verifica se há bloqueio de arquivo criado pelo processo dentro de loop; se não houver nada acontece; se não houver um inicie um processo no loop while.
Além disso, você pode achar que a diretiva / alias '@reboot' do cron é útil para iniciar esses processos imediatamente quando o sistema é inicializado / reinicializado.