psignal, psiginfo - print signal message
#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[];
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
psignal():
Since glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_BSD_SOURCE || _SVID_SOURCE
psiginfo(): _POSIX_C_SOURCE >= 200809L
sys_siglist:
Since glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_BSD_SOURCE
The
psignal() function displays a message on
stderr consisting of
the string
s, a colon, a space, a string describing the signal number
sig, and a trailing newline. If the string
s is NULL or empty,
the colon and space are omitted. If
sig is invalid, the message
displayed will indicate an unknown signal.
The
psiginfo() function is like
psignal(), except that it displays
information about the signal described by
pinfo, which should point to
a valid
siginfo_t structure. As well as the signal description,
psiginfo() displays information about the origin of the signal, and
other information relevant to the signal (e.g., the relevant memory address
for hardware-generated signals, the child process ID for
SIGCHLD, and
the user ID and process ID of the sender, for signals set using
kill(2)
or
sigqueue(3)).
The array
sys_siglist holds the signal description strings indexed by
signal number.
The
psignal() and
psiginfo() functions return no value.
The
psiginfo() function was added to glibc in version 2.10.
For an explanation of the terms used in this section, see
attributes(7).
Interface |
Attribute |
Value |
psignal (), psiginfo () |
Thread safety |
MT-Safe locale |
POSIX.1-2008, 4.3BSD.
In glibc versions up to 2.12,
psiginfo() had the following bugs:
- *
- In some circumstances, a trailing newline is not printed.
- *
- Additional details are not displayed for real-time signals.
sigaction(2),
perror(3),
strsignal(3),
signal(7)