您的位置:首页 > 其它

10.21 信号_其他特征

2010-07-31 16:46 127 查看

1. 信号名字

某些系统提供数组 extern char *sys_siglist[]; 数组下标是信号编号,给出一个指向信号字符串的指针。

这些系统通常也提供函数psignal。

#include <signal.h>

void psignal(int signo,const char *msg);

字符串msg(通常是程序名)输出到标准出错文件,后接一个冒号和一个空格,再接着对该信号的说明,最后是一个换行符。该函数类似于perror。

另一个常用函数是strsignal。它类似于strerror。

#include <string.h>

char *strsignal(int signo);

返回值:指向描述该信号的字符串的指针

给出一个信号编号,strsignal将返回说明该信号的字符串。应用程序可用该字符串打印关于接收到信号的出错消息。

2. 信号映射

有一对函数,一个函数将信号编号映射为信号名,另一个则反之。

#include <signal.h>

int sig2srt(int signo, char *str);

int str2sig(const char *str, int *signop);

返回值:成功返回0,出错返回-1

sig2srt函数将给定信号编号翻译成字符串,并将结果存放在str指向的存储区。该字符串包括不带“SIG”前缀的信号名。

str2sig函数将给出的名字翻译成信号编号。该信号编号存放在signop指向的整型中。名字要么是不带“SIG”前缀的信号名,要么是表示十进制信号编号的字符串(例如“9”)。

注意,sig2str和str2sig偏离了一般实践,当它们失败时,并不设置errno。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: