вызов прерван сигналом тк истекло время else alarm 0 отменить зака� сигнала

Вызов прерван сигналом тк

This preview shows page 2 - 4 out of 6 pages.

// вызов прерван сигналом т.к. истекло время. }else{ alarm (0); /* отменить заказ сигнала */ // событие произошло, сисвызов успел // завершиться до истечения времени. } signal ( SIGALRM , oldaction ); Следующая программа выдает текущее время каждые 3 секунды: #include <signal.h> #include <time.h> #include <stdio.h> void tick ( nsig ){ time_t tim ; char * s ; signal ( SIGALRM , tick ); alarm (3); time (& tim ); s = ctime (& tim ); s [ strlen ( s )-1 ] = '\0'; /* обрубить '\n' */ fprintf ( stderr , "\r%s", s ); } main (){ tick (0); for(;;) pause (); } Linux поддерживает нижеописанные сигналы. Некоторые номера сигналов зависят от используемой архитектуры. Сначала идут сигналы, описанные в стандарте POSIX.1. Сигнал Значение Действие Описание либо завершение управляющего процесса SIGINT 2 A Прерывание с клавиатуры SIGQUIT 3 C Выход с клавиатуры SIGILL 4 C Несуществующая инструкция
Image of page 2
SIGABRT 6 C Сигнал прерывания, посланный функцией abort (3) SIGFPE 8 C Ошибка операций с плавающей запятой SIGKILL 9 AEF Kill-сигнал SIGSEGV 11 C Обращение к запретной области памяти SIGPIPE 13 A Оборванный канал: запись в канал, из которого не читают SIGALRM 14 A Сигнал таймера от функции alarm (2) SIGTERM 15 A Сигнал завершения SIGUSR1 30,10,16 A Первый сигнал, определяемый пользователем SIGUSR2 31,12,17 A Второй сигнал, определяемый пользователем SIGCHLD 20,17,18 B Потомок остановлен или прекратил выполнение SIGCONT 19,18,25 Продолжить выполнение, если остановлен SIGSTOP 17,19,23 DEF Приостановить выполнение процесса SIGTSTP 18,20,24 D Останов введен с терминала SIGTTIN 21,21,26 D ввод с терминала у фонового процесса SIGTTOU 22,22,27 D вывод на терминал у фонового процесса Следующие сигналы не входят в стандарт POSIX.1, но описаны в SUSv2. Сигнал Значение Действие Описание SIGEMT 7,-,7 SIGSTKFLT -,16,- A Переполнение стека сопроцессора SIGIO 23,29,22 A I/O теперь возможно (4.2 BSD) SIGCLD -,-,18 Синоним для SIGCHLD SIGPWR 29,30,19 A Авария питающего напряжения (System V) SIGINFO 29,-,- Синоним для SIGPWR SIGLOST -,-,- A Потеря файла блокировки SIGWINCH 28,28,20 B Изменение размеров окна (4.3 BSD, Sun) SIGUNUSED -,31,- A Неиспользуемый сигнал (в будущем будет SIGSYS)
Image of page 3
Image of page 4

You've reached the end of your free preview.

Want to read all 6 pages?

  • Fall '18
  • jane

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes