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)