| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 就是要努力呀 于 2020-3-10 18:52 编辑  
 
signal(int__sig, __sighandler_t__handler) 
在头文件<signal.h>中 
 
sig参数 设置要接受的信号类型 
https://blog.csdn.net/weibo1230123/article/details/81505152 
 
handler参数 接受到信号执行的动作 
三个可选项: 
1.SIG_DFL 默认处理 
2.SIG_IGN 忽略信号 
3.定义一个特殊函数来处理信号 
 
setitimerval(int which, const struct itimerval *new_value, const struct itimerval *old_value) 
在头文件<sys/time.h>中 
 
which表示类型 
三个可选项: 
1.ITIMER_REAL 以系统真是时间来计算,它送出SIGALRM信号 
 
2.ITIMER_VIRTUAL 以该进程在用户态下话费的时间来计算,它送出SIGVTALRM信号 
 
3.ITIMER_PROF 以该进程在用户态和内核态下所费时间来计算,它送出SIGPROF信号 
 
第二个参数是一个itimerval类型的指针 用来定时 
 
第三个参数同样是一个itimerval类型的指针 一般设置为NULL 
 
 
itimerval 结构体 
 
 
- struct itimerval
 
 - {
 
 - struct timerval it_interval; //计时器间隔多长时间发送信号
 
 - struct timeval it_value; //计时器第一次发送信号的时间间隔
 
 - }
 
  
- struct timerval
 
 - {
 
 - tv_sec; //秒
 
 - tv_usec; //微秒
 
 - }
 
  
  复制代码 setitimerval工作原理对it_value进行倒计时,当it_value为0时送出which指定的信号,在将it_value重置为it_interval,重复进行 
 
 |   
 
 
 
 |