哪些函数会产生sigalrm信号
1个回答
展开全部
signal(SIGALRM, alarmhandle); 表示给当前进程注册SIGALRM信号处理代码,如果收到SIGALRM信号,就会去执行alarmhandle函数<pre t="code" l="bash">$ man signal
SYNOPSIS
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
DESCRIPTION
The signal() system call installs a new signal handler for the signal with number signum. The signal handler is set to sighandler which may be a user specified function, or either SIG_IGN or SIG_DFL.
signal()函数是个系统调用,该函数按signum设定一个新的信号处理句柄(函数).新设定的处理函数可以是用户自定义的函数,也可以是系统指定的SIG_IGN 或 SIG_DFL.参考代码:
<pre t="code" l="cpp">#include <signal.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
void alarmhandle(int sig)
{
printf("recv sig:%d\n", sig );
printf("exit!\n");
exit(0);
}
int main()
{
signal( SIGALRM, alarmhandle );
printf("begin\n");
alarm(5); //定时器,用于在5秒后产生SIGALRM信号
while( 1 );
return 0;
}运行结果:beginrecv sig:14exit!
SYNOPSIS
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
DESCRIPTION
The signal() system call installs a new signal handler for the signal with number signum. The signal handler is set to sighandler which may be a user specified function, or either SIG_IGN or SIG_DFL.
signal()函数是个系统调用,该函数按signum设定一个新的信号处理句柄(函数).新设定的处理函数可以是用户自定义的函数,也可以是系统指定的SIG_IGN 或 SIG_DFL.参考代码:
<pre t="code" l="cpp">#include <signal.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
void alarmhandle(int sig)
{
printf("recv sig:%d\n", sig );
printf("exit!\n");
exit(0);
}
int main()
{
signal( SIGALRM, alarmhandle );
printf("begin\n");
alarm(5); //定时器,用于在5秒后产生SIGALRM信号
while( 1 );
return 0;
}运行结果:beginrecv sig:14exit!
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机复位电路原理通常包括以下几个主要步骤:1. 电平检测:单片机复位电路需要检测一个关键参数,即控制器的复位引脚是否处于高电平(2V)。如果复位引脚没有高电平,复位电路就会启动一个复位过程来清除单片机内部的错误状态并将其恢复到正常状态。2...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询