#include <unistd.h> unsigned int alarm(unsigned int secs) /* envia um sinal SIGALRM */
Valor de retorno: tempo restante no relógio se já existir um alarme armado anteriormente ou 0 se não exitir. Se o secs for igual a 0, ele retorna o valor do tempo restante no relógio, sem portanto re-armar o alarme.
A primitiva alarm() envia um sinal SIGALRM ao processo chamando após um intervalo de tempo secs (em segundos) passado como argumento, depois reinicia o relógio de alarme. Na chamada da primitiva, o relógio é reiniciado a secs segundos e é decrementado até 0. Esta primitiva pode ser utilizada, por exemplo, para forçar a leitura do teclado dentro de um dado intervalo de tempo. O tratamento do sinal deve estar previsto no programa, senão o processo será finalizado ao recebê-lo.