PSIGNAL(3)

名前
psignal, psiginfo - シグナルの説明を表示する

書式
#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() 関数は、文字列 s、コロン、スペース、シグナル番号 sig を説明する文字列、終端の改行から構成されるメッセージを stderr に表示する。 文字列 s が NULL か空の場合、コロンとスペースは省略される。 sig が不正ならば、表示される メッセージは未知のシグナルを示す。

psiginfo() 関数は psignal() と同じだが、 pinfo に書かれたシグナルの情報を表示する点が異なる。 pinfo は有効な siginfo_t 構造体を指している必要がある。 psiginfo() は、 シグナルの説明だけでなく、 シグナルの送信元やそのシグナルに関連するその他の情報も表示する (例えば、ハードウェアが発生したシグナルの関連メモリーアドレス、 SIGCHLD の子プロセス ID、 kill(2) や sigqueue(3) を使って送信されたシグナルの送信元プロセスのユーザー ID とプロセス ID など)。

返り値
関数 psignal() と psiginfo() は、値を返さない。

バージョン
psiginfo() 関数は glibc バージョン 2.10 で追加された。

属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース | 属性 | 値
psignal(), psiginfo() | Thread safety | MT-Safe locale

準拠
POSIX.1-2008, 4.3BSD.

バグ
バージョン 2.12 までの glibc では psiginfo() には以下のバグがあった。

*   特定の状況で、末尾の改行が出力されない。

*   リアルタイムシグナルの場合に、追加の詳細情報が表示されない。

関連項目
sigaction(2), perror(3), strsignal(3), signal(7)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。