alarm()
conta o tempo real, o texto no POSIX afirma isso claramente, embora o A página man do Linux não é explícita sobre isso.
Portanto, o cronômetro será executado independentemente de o processo estar ou não em execução. Normalmente, o sinal acordaria o processo se estivesse dormindo, mas o sistema operacional ainda pode decidir não executar o processo, se houver outros processos de prioridade mais alta que precisam ser executados.
Há também setitimer()
, que pode fornecer um cronômetro que só é executado quando o processo está correndo.