PSIGNAL(3) Руководство программиста Linux PSIGNAL(3)

ИМЯ

psignal, psiginfo - выводит сообщение о сигнале

ОБЗОР

#include <signal.h>
void psignal(int sig, const char *s);
void psiginfo(const siginfo_t *pinfo, const char *s);
extern const char *const sys_siglist[];

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

psignal(): начиная с glibc 2.19: _DEFAULT_SOURCE в glibc 2.19 и старее: _BSD_SOURCE || _SVID_SOURCE psiginfo(): _POSIX_C_SOURCE >= 200809L sys_siglist(): начиная с glibc 2.19: _DEFAULT_SOURCE в glibc 2.19 и старее: _BSD_SOURCE

ОПИСАНИЕ

Функция psignal() выводит сообщение в stderr, состоящее из строки s, двоеточия, пробела, строки описания номера сигнала sig и конечного символа новой строки. Если строка s равна NULL или пуста, то двоеточие и пробел не выводятся. Если значение sig некорректно, то выводится сообщение о неизвестном сигнале.

Функция psiginfo() подобна psignal(), но выводит информацию о сигнале, указанном в аргументе pinfo, который должен указывать на корректную структуры siginfo_t. Кроме описания сигнала psiginfo() выводит информацию об источнике сигнала и другую информацию о сигнале (например, соответствующий адрес памяти, в случае аппаратных сигналов, идентификатор процесса-потомка для SIGCHLD и идентификаторы пользователя и процесса отправителя для сигналов, посланных с помощью kill(2) или sigqueue(3)).

В массиве sys_siglist содержатся строки описаний сигналов, упорядоченные по номеру сигнала.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Функции psignal() и psiginfo() ничего не возвращают.

ВЕРСИИ

Функция psiginfo() впервые появилась в glibc 2.10.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
psignal(), psiginfo() Безвредность в нитях MT-Safe locale

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1-2008, 4.3BSD.

ДЕФЕКТЫ

В glibc до версии 2.12, в psiginfo() были следующие дефекты:

  • При определённых условиях не выводился символ новой строки.
  • Для сигналов реального времени не выводилась дополнительная информация.

СМОТРИТЕ ТАКЖЕ

sigaction(2), perror(3), strsignal(3), signal(7)

2017-09-15 GNU