信号和报警功能
Posted
技术标签:
【中文标题】信号和报警功能【英文标题】:Signal and alarm function 【发布时间】:2015-11-02 09:35:09 【问题描述】:我在收到的 C 编程任务中需要一些帮助或建议...
任务是使用alarm(sec)
需要调用信号SIGALRM
。
我必须在 1 秒内增加一个 long int 数字,并在屏幕上打印出该数字在那段时间内增加了多少次。我怀疑它必须与alarm(1);
我有增加数字的循环......位完全不知道如何在 1 秒后停止它,尤其是使用 signal(SIGALRM,xxx)
我应该粘贴我拥有的代码吗?
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
int loop_function()
int counter = 1;
long int n = 1;
while(n!=0)
++counter;
n++;
printf("%d: %d\n",counter,n);
int main()
loop_function();
【问题讨论】:
好的 - :) 这就是我编的... #include很可能,这就是您要找的。p>
#include<stdio.h>
#include<signal.h>
#include<unistd.h>
void sigalrm_handler(int);
int loop_function();
static int counter = 1;
static long int n = 1;
int main()
signal(SIGALRM, sigalrm_handler);
//This will set the alarm for the first time.
//Subsequent alarms will be set from sigalrm_handler() function
alarm(1);
printf("Inside main\n");
while(1)
loop_function();
return(0);
void sigalrm_handler(int sig)
printf("inside alarm signal handler\n");
printf("%d: %d\n",counter,n);
//exit(1);
alarm(1);
int loop_function()
++counter;
n++;
【讨论】:
以上是关于信号和报警功能的主要内容,如果未能解决你的问题,请参考以下文章