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() были следующие дефекты:
2017-09-15 | GNU |