Главная    Разработка ПО    функции языка Си

Описание функций языка Си

" A "

abort 

abs, labs, llabs 

acos, acosf, acosl 

acosh, acoshf, acoshl 

alarm 

asin, asinf, asinl 

asinh, asinhf, asinhl 

asctime 

asctime_r 

assert 

atan, atanf,atanl 

atan2, atan2f, atan2l 

atanh, atanhf, atanhl 

atexit 

atoi 

atol 

atof 

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

alarm – установка будильника

Синтаксис:

#include < unistd.h>

unsigned int alarm (unsigned int seconds);

Аргументы:

unsigned int seconds – время задержки в секундах до генерации сигнала SIGALRM (время до срабатывания будильника).

Возвращаемое значение:

Время в секундах, оставшееся до генерации сигнала SIGALRM (время до срабатывания будильника), установленное предыдущим вызовом функции alarm или 0 если «будильник» до этого не устанавливался или уже сработал.

Описание:

Функция alarm () указывает системе сгенерировать сигнал SIGALRM через время, заданное аргументом seconds (в секундах). Из-за накладных расходов системы сигнал может быть сгенерирован несколько позже.

Повторный вызов функции alarm () приводит к отмене действия предыдущего вызова (если сигнал SIGALRM еще не был сгенерирован), и установке нового времени генерации сигнала.

Если аргумент seconds равен нулю, то функции alarm() только отменяет предыдущий вызов этой функции.

Пример:

В примере к сигналу SIGALRM привязывается функция MyAlarm, завершающая работу программы. Далее устанавливается «будильник» на 10 секунд и запускается бесконечный цикл. Через 10 секунд срабатывает будильник (генерируется сигнал SIGALRM), по которому запускается функция MyAlarm и завершается работа программы.


#include < stdio.h >   //Для puts
#include < unistd.h >   //Для alarm
#include < signal.h >   //Для signal
                     
//Функция, вызываемая при генерации сигнала SIGALRM
void MyAlarm (int var)
{     puts (“End work”);
      _Exit (0); //Завершение работы программы
}

int main (void)
{ 
      puts (“Start work”);
      //Привязка функции MyAlarm к сигналу SIGALRM
      signal (SIGALRM, MyAlarm);
      //Установка будильника на 10 секунд
      alarm (10);
      //Бесконечный цикл
      while (1) {}
      return 0;
}

Результат:

Start work
End work



Смотри так же:

nanosleep
pause
sigaction
sleep
timer_settime


Яндекс.Метрика

Рейтинг@Mail.ru