1.raise和abort函数
\qquadraise函数
:int raise(int sig)
\qquad功能:给当前进程发送指定信号(自己给自己发信号),raise(signo)
相当于kill(getpid(),signo)
\qquad返回值:成功返回0;失败返回非0值
\qquadabort函数
:void abort(void)
\qquad功能:给自己发送异常终止信号6:SIGABRT信号,并终止产生core文件
\qquad返回值:无
2.alarm函数
\qquadunsigned int alarm(unsigned int seconds)
\qquad功能:设置定时器。在指定seconds后,内核会向当前进程发送14:SIGALRM信号,进程收到该信号,默认动作终止。
\qquad返回值:返回0或者剩余秒数,无失败
\qquadalarm实战:一秒电脑能数几次
#include<stdio.h>
#include<unistd.h>int main()
{alarm(1);int i;for(i=0; ;i++){printf("%d\n",i);}return 0;
}
3.setitimer函数
\qquadint setitimer(int which,const struct itimerval* new value,struct itimerval* old value)
\qquad功能:设置定时器,可替代alarm函数,精度微妙us,可实现周期定时。
\qquad返回值:成功返回0;失败返回-1
\qquad参数:which:指定定时方式 1)ITIMER_REAL
:自然定时,计算自然时间;2)ITIMER_VIRTUAL
:虚拟空间定时,只计算进程占用CPU时间;3)ITIMER_PROF
:运行时计时,计算占用CPU以及执行系统调用的时间