C参考手册
编程支持 | Program support
raise
在头文件<signal.h>中定义 |
|
|
---|---|---|
int raise(int sig); |
|
|
将信号sig发送到程序。 调用使用signal()指定的信号处理程序。
如果用户定义的信号处理策略没有使用signal()设置,那么它是由实现定义的,不管信号将被忽略还是默认处理程序将被调用。
参数
sig |
- |
要发送的信号。它可以是实现定义的值或以下值之一:SIGABRTSIGFPESIGILLSIGINTSIGSEGVSIGTERM定义信号类型(宏常量) |
SIGABRTSIGFPESIGILLSIGINTSIGSEGVSIGTERM |
定义信号类型(宏常量) |
---|---|---|---|---|
SIGABRTSIGFPESIGILLSIGINTSIGSEGVSIGTERM |
定义信号类型(宏常量) |
返回值
成功则返回0,失败则返回非零值。
例
#include <signal.h>
#include <stdio.h>
void signal_handler(int signal)
{
printf("Received signal %d\n", signal);
}
int main(void)
{
// Install a signal handler.
signal(SIGTERM, signal_handler);
printf("Sending signal %d\n", SIGTERM);
raise(SIGTERM);
printf("Exit main()\n");
}
输出:
Sending signal 15
Received signal 15
Exit main()
参考
- C11标准(ISO / IEC 9899:2011):
- 7.14.2.1引发函数(p:267)
- C99标准(ISO / IEC 9899:1999):
- 7.14.2.1引发函数(p:248)
- C89 / C90标准(ISO / IEC 9899:1990):
- 4.7.2.1提高功能
扩展内容
signal |
设置特定信号的信号处理程序(功能) |
---|
| 用于raise的C ++文档 |