曲径通幽论坛

标题: strsignal() -- 打印信号描述 [打印本页]

作者: beyes    时间: 2012-7-30 16:00
标题: strsignal() -- 打印信号描述
strsignal() 函数原型如下:
[C++] 纯文本查看 复制代码
  #include <string.h>
char *strsignal(int sig);
extern const char * const sys_siglist[];

strsignal() 返回一个字符串用以描述由参数 sig 指出的信号的描述信息,如果给出的信号不能识别,那么就打印出无法识别的信号信息。实际上,这些描述信息已经存在一个名为 sys_siglist[] 的数组之中,可以直接引用该数组,但是用 strsignal() 函数会显得更简洁。

测试代码:
[C++] 纯文本查看 复制代码
#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
    if (argc != 2) {
       printf("usage: %s sig_num\n", argv[0]);
       exit (EXIT_FAILURE);
    }
    int sig;
    sig = atoi(argv[1]);
   
    printf ("%s\n", strsignal(sig));

    return 0;
}

运行输出:
$ ./strsignal 9
Killed
$ ./strsignal 2
Interrupt
$ ./strsignal 3333
Unknown signal 3333





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2