Signal.h

Signal.h

signal.h

Стандартная библиотека
языка программирования С

signal.h — заголовочный файл, определенный в стандартной библиотеке языка Си, для указания того, как программа обрабатывает сигналы во время ее выполнения. Сигнал может оповещать о некотором отклонении от ожидаемого поведения программы (как например, деление на нуль) или о некоторых асинхронных событиях, произошедших вне программы (например, если кто-то нажал кнопку прерывания программы на клавиатуре).

Сигнал может генерироваться при вызове raise (посылает сигнал текущему процессу) или kill (посылает сигнал любому процессу). Каждая реализация определяет какой сигнал что генерирует и определяет их генерацию. реализация может определять сигналы, отличающиеся от перечисленных здесь. Стандартный заголовочный файл <signal.h> может определять дополнительные макросы с именами, начинающимися с SIG, для указания значения этих дополнительных сигналов. Все подобные значения являются целыми константными выражениями >= 0.

Можно указывать обработчик сигнала для всех сигналов кроме двух (SIGKILL и SIGSTOP не могут быть перехвачены, блокированы или проигнорированы). Обработчик сигнала — функция, направляющая вызовы окружению, когда принимает соответствующий сигнал. Целевое окружение приостанавливает выполнение программы пока обработчик сигнала не возвратит значение или вызовет переход (longjmp). Для максимальной переносимости, асинхронный обработчик сигнала должен:

  • совершать (успешный) вызов сигнала функции
  • присваивать значения объектам с типом несвязанная переменная sig_atomic_t
  • возвращать управление обратно вызвавшему его

Если сигнал оповещает об ошибке внутри программы (а сигнал не асинхронный), то обработчик сигнала может завершить ее выполнение, вызвав abort, exit или longjmp.

Содержание

Методы

  • int raise(int sig). Искусственно вызывает сигнал.
  • psignal(int sig, const char *s), выводит в stderr строку, содержащую номер сигнала. Применяется в 4.3BSD, Solaris и Linux, но не указан в POSIX и SUS.

На тех же системах string.h содержит нестандартный strsignal(int sig), который работает аналогично strerror.

  • void* signal(int sig, void (*func)(int)) назначает действие, предпринимаемое при получении программой сигнала sig. Если значение func равно SIG_DFL, то происходит обработка по умолчанию для указанного сигнала. Если значение func равно SIG_IGN, то сигнал игнорируется. В остальных случаях func указывает на вызываемую функцию обработчик сигнала при получении сигнала.

Функция func может завершиться выполнением операции возврата или вызовом функций самозавершения, выхода или перехода.

Члены-типы

typedef i-type sig_atomic_t

Члены-макросы

  • SIG_DFL — Используется для указания способа обработки сигнала по умолчанию.
  • SIG_IGN — Используется для игнорирования сигнала.
  • SIG_ERR — Код ошибки.

Члены-константы

Константа Значение Стандарты
SIGHUP Отбой POSIX
SIGINT Прерывание ANSI
SIGQUIT Выход POSIX
SIGILL Недопустимая инструкция ANSI
SIGABRT Самоостановка ANSI
SIGTRAP Перехват события POSIX
SIGIOT Перехват ввода-вывода 4.2 BSD
SIGEMT Перехват эмуляции 4.2 BSD
SIGFPE Исключение с плавающей запятой ANSI
SIGKILL Неперехватываемый сигнал завершения POSIX
SIGBUS Ошибка шины 4.2 BSD
SIGSEGV Нарушение сегментации ANSI
SIGSYS Неправильный аргумент в системный вызов 4.2 BSD
SIGPIPE Нарушение канала POSIX
SIGALRM Истечение времени POSIX
SIGTERM Завершение ANSI
SIGUSR1 Пользовательский сигнал 1 POSIX
SIGUSR2 Пользовательский сигнал 2 POSIX
SIGCHLD Изменение статуса дочернего процесса POSIX
SIGCLD Аналогично SIGCHLD System V
SIGPWR Перезапуск после проблемы с питанием System V
SIGXCPU Ограничение процессорного времени POSIX

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Signal.h" в других словарях:

  • signal — signal, aux [ siɲal, o ] n. m. • 1540; « signe distinctif, cachet » déb. XIIIe; réfect., d apr. signe, de seignal; bas lat. signale, neutre subst. de signalis « qui sert de signe » 1 ♦ Signe convenu (geste, son...) fait par qqn pour indiquer le… …   Encyclopédie Universelle

  • Signal.h — is a header file defined in the C Standard Library to specify how a program handles signals while it executes. A signal can report some exceptional behavior within the program ( such as division by zero ), or a signal can report some asynchronous …   Wikipedia

  • Signal — Signal, signals, signaling, or signalling may refer to: Scientific concepts * Signal (electrical engineering), a physical quantity that can carry information. * Signal processing, the field of techniques used to extract information from signals * …   Wikipedia

  • Signal — Sig nal, a. [From signal, n.: cf. F. signal[ e].] 1. Noticeable; distinguished from what is ordinary; eminent; remarkable; memorable; as, a signal exploit; a signal service; a signal act of benevolence. [1913 Webster] As signal now in low,… …   The Collaborative International Dictionary of English

  • signal — SIGNÁL, signale, s.n. (Rar) 1. Semnal convenţional emis de o sirenă, de un fluier etc. 2. Fluier mic de metal (cu care se dau aceste semnale convenţionale). – Din fr. signal. Trimis de LauraGellner, 22.07.2004. Sursa: DEX 98  SIGNÁL s. v.… …   Dicționar Român

  • Signal FM — Langue Français, Créole Pays  Haiti !Haïti Statut …   Wikipédia en Français

  • signal — sìgnāl m <G signála> DEFINICIJA 1. znak koji služi da bi se dojavila poruka ili upozorenje [crvena krpa predstavljat će signal za upozorenje] 2. stvar, znak i sl. koji ukazuje da će se nešto početi događati [dim iz vulkana je signal moguće… …   Hrvatski jezični portal

  • Signal — Sn std. (17. Jh.) Entlehnung. Entlehnt aus frz. signal m., zu l. sīgnālis bestimmt, ein Zeichen zu geben , zu l. sīgnum Zeichen, Kennzeichen, Merkmal . Verb: signalisieren.    Ebenso nndl. signaal, ne. signal, nfrz. signal, nschw. signal, nnorw.… …   Etymologisches Wörterbuch der deutschen sprache

  • Signal — Saltar a navegación, búsqueda Signal era órgano de propaganda principal publicado no tanto por los nazis cuanto por el Ejército Alemán durante la Segunda Guerra Mundial. Era famoso por sus fotografías en color de calidad, lo que en la época… …   Wikipedia Español

  • signal — sub. m. Signe que l on donne pour servir d advertissement. Faire un signal. donner le signal. à ce signal ils mirent tous l espée à la main. ils tirerent trois coups de canon pour signal. On leur fit plusieurs signaux. ils firent les signaux dont …   Dictionnaire de l'Académie française


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»