代码之家  ›  专栏  ›  技术社区  ›  Norman Ramsey

如何从信号编号中获取人类可读的描述?

  •  6
  • Norman Ramsey  · 技术社区  · 15 年前

    POSIX标准或其他C标准是否提供了一种从信号号恢复有意义消息的方法,与 strerror() 使从中恢复消息成为可能 errno ?GNU C库 strsignal() ,但如果可能的话,我希望可以移植到BSD和其他UNIX变体。

    2 回复  |  直到 15 年前
        1
  •  10
  •   Jed Smith    15 年前

    是的,有趣的是,有一种从POSIX中的信号获取字符串消息的标准方法。很巧合的是, strsignal() . 从posix.1-2008:

    strsignal()函数应将signum中的信号号映射到实现定义的字符串,并返回指向该字符串的指针。它应使用与psignal()函数相同的消息集。

    不提供此函数的环境不符合POSIX。虽然相对较新(第7期于2008年出版),但我有一个 串() Mac OS X 所以这是个好兆头。

        2
  •  2
  •   caf    15 年前

    外部定义的数组 sys_siglist 包含每个信号编号的信号说明,是BSD的标准版本。

    #include <signal.h>
    
    extern const char *const sys_siglist[];