ualarm() - schedule signal after specified time
#include <unistd.h>
useconds_t
ualarm(useconds_t microseconds, useconds_t interval)
The ualarm(3) function causes the system to generate a SIGALRM signal for the calling process after microseconds of real time have elapsed. If the interval is not zero, the signal occurs again every interval microseconds.
If the SIGALRM signal is not caught or ignored, the calling process is terminated.
The ualarm(3) function is a simplified interface to setitimer(2).
The ualarm(3) function returns the number of microseconds that remain on the existing ualarm(3) call. If there is no active ualarm(3) call (it has not been called yet or no time-outs are pending), then ualarm(3) returns 0.
alarm(2)
setitimer(2)
sleep(3)