|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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,重复进行
|
|