
#include
int
pause(void)
返回:-1,errno设置为EINTR
只有执行了一个信号处理程序并从其返回时,pause才返回。
/*************************************
使用alarm函数定时,然后通过pause()等待alarm函数的信号。
1:使用alarm函数的时候要注意alarm函数的覆盖性,即在一个进程中采用一次alarm函数则该进程之前的alarm函数将失效。
2:pause函数为将进程挂起,然后等待信号。
3:因为alarm函数在定时器到点的时候产生的信号默认为让该进程退出。因此本代码运行5秒然后直接退出,终端不会输出printf中的语句。
tips:挂起和阻塞的区别为,挂起是进程主动行为,阻塞是进程的被动行为。
*************************************/
#include
#include
#include
int
main(int
argc,char
*argv[])
{
int
ret
ret=alarm(5)
pause()
printf("will
this
be
printed?\n")
}
#include
#include
#include
int
main()
{
int
ret
ret=alarm(5)
pause()
printf("I
have
been
waken
up.\n",ret)
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)