ALARM(2) | Руководство программиста Linux | ALARM(2) |
alarm - установка будильника для доставки сигнала
#include <unistd.h>
unsigned int alarm(unsigned int seconds);
Системный вызов alarm() размещает сигнал SIGALRM для доставки вызывающему процессу через seconds секунд.
Если значение seconds равно 0, то любой ожидающий будильник будет отменён.
При любом событии ранее запланированный alarm() отменяется.
alarm() возвращает количество секунд, оставшихся до момента доставки сигнала, запланированного ранее, или ноль, если сигнал не запланирован.
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
alarm() и setitimer(2) используют один и тот же таймер; они будут мешать работе друг друга.
Будильники, созданные alarm(), сохраняются при выполнении execve(2) и не наследуются потомками, созданными с помощью fork(2).
sleep(3) может быть реализован через SIGALRM, поэтому лучше не использовать alarm() и sleep(3) одновременно.
Постановка сигнала в очередь может вызывать задержу выполнения вызвавшего процесса на произвольное время.
gettimeofday(2), pause(2), select(2), setitimer(2), sigaction(2), signal(2), timer_create(2), timerfd_create(2), sleep(3), time(7)
2017-05-03 | Linux |