首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

raise

在头文件<signal.h>中定义

?

?

int raise(int sig);

?

?

将信号sig发送到程序。 调用使用signal()指定的信号处理程序。

如果用户定义的信号处理策略没有使用signal()设置,那么它是由实现定义的,不管信号将被忽略还是默认处理程序将被调用。

参数

sig

-

要发送的信号。它可以是实现定义的值或以下值之一:SIGABRTSIGFPESIGILLSIGINTSIGSEGVSIGTERM定义信号类型(宏常量)

SIGABRTSIGFPESIGILLSIGINTSIGSEGVSIGTERM

定义信号类型(宏常量)

SIGABRTSIGFPESIGILLSIGINTSIGSEGVSIGTERM

定义信号类型(宏常量)

返回值

成功则返回0,失败则返回非零值。

代码语言:javascript
复制
#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");
}

输出:

代码语言:javascript
复制
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 ++文档 |

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com