c语言中断函数作用,C语言的进程中断与信号处理函数

#include "csapp.h"

/*编写sleep的包装函数,snooze函数,返回一个进程实际休眠了多少时间*/

unsigned int snooze(unsigned int secs) //secs为总休眠时间

{

unsigned int timeLeft;

unsigned int timeAll=secs;

timeLeft=sleep(timeAll);

printf("Slept for %u of %u secs \n", timeAll-timeLeft,timeAll);

return timeLeft;

}

void handler(int sig)

{

return; //结束进程,并返回进程的返回值

}

int main(int argc,char *argv[])

{

if(signal(SIGINT,handler)==SIG_ERR)

printf("signal error");

if(argv[1]==NULL) {

printf("需要指明参数,即休眠的时间长度\n");

exit(0);

}

(void) snooze(atoi(argv[1])); //atoi是用来将字符串转换成整型数据

exit(0);

}

当程序执行时,按住ctrl+C中断进程,返回值例如下所示

Slept for 2 of 4 secs

原文:http://my.oschina.net/zzw922cn/blog/418983

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值