raise
raise
在头文件 | | |
---|---|---|
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):
扩展内容
signal | 设置特定信号的信号处理程序(功能) |
---|
| 用于raise的C ++文档 |