Scroll to navigation

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

ИМЯ

psignal, psiginfo - print signal description

СИНТАКСИС

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

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

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

ОПИСАНИЕ

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

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

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

Функции 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)

ЗАМЕЧАНИЯ

Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Kogan, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

1 ноября 2020 г. GNU