作者roylee17 (把我id还我阿......)
看板LinuxDev
标题Re: [问题] 请问如何计时, 时间到了取消 Function ??
时间Tue Jun 5 12:53:32 2007
※ 引述《KvsG (KvsG)》之铭言:
: 大家好... 请问大家一个问题...
: 因为我写了一支程式... 需要定时做一些工作...
: 但是这些工作有时会有例外情况... (当然这是我要抓的)
: 偏偏发生了例外情况... 这程式不是就卡死在那里, 不再接受下一个工作...
: 就是直接 Segmentation Fault 了... 囧
: 在排除 Segmentation Fault 的情况下... 我想要解决卡死的问题... @@
: 可是找不到什麽方法来做 @@ 我找了 struct timeval 但是仍然没有什麽头绪... @@
: 请问有什麽方法吗.. ?? 还是得用 thread ??
: 问得实在很没头没脑... ^^" 谢谢大家看完
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
void alarm_handler( int signo){
fprintf( stderr, "Time Out\n");
abort();
}
int main(){
/* register time out handler */
signal( SIGALRM, alarm_handler);
alarm(3); /* enable the timer */
do_something();
alarm(0); /* disable the timer */
return 0;
}
更细的时间单位可以 man setitimer
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.203.139
1F:推 KvsG:谢谢大大的指点!!! 有可能不要结束整支程式吗?? 06/05 14:26
2F:推 andytzeng:也可以 man ualarm 06/06 01:21