Não imagino como você chama o firefox em seu script, mas supondo que o faça em segundo plano, poderia usar o comando 'ps' para analisar o estado dele. por exemplo ao invocar:
$ ps -u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND itamarn+ 3888 0.0 0.5 13744 9916 pts/0 Ss Fev24 0:00 /bin/bash
terá uma coluna chamada STAT Quando estiver setado com R ou S para o processo do firefox, está tudo OK, outra letra nesse lugar normalmente é problema.
Mas se o firefox é chamado e o script o aguarda, não há como o próprio script saber dessa situação, vc precisaria ter um outro script rodando em paralelo que checasse regularmente a existência do processo e seu status.