漂亮的信号捕捉
2017-05-09 00:00
141 查看
#include <unistd.h>; #include <signal.h>; #include <stdlib.h>; #include <setjmp.h>; #include <sys/signal.h>; static jmp_buf jmpbuf; void int_proc(int sig) { siglongjmp(jmpbuf, 1); } int main() { int c, i; int m; m=sigsetjmp(jmpbuf,1); if (m==1) printf("\nInterrupt\n"; else if(m==2) printf("\ninvalid input\n"; signal(SIGINT, int_proc); printf("Choose task a or b:"; c = getchar(); while(getchar()!='\n') continue; printf("you select\n"; switch (c) { case 'a': for (i = 0; i < 10; i++) { printf("..%3d%%", (i+1)*10); sleep(2); } break; case 'b': for (i = 0; i < 10; i++) { printf("..%3d%%", (i+1)*10); sleep(1); } break; default: siglongjmp(jmpbuf, 2); } printf("End task\n"; }
相关文章推荐
- 漂亮的信号捕捉
- Linux 有问必答:如何在Perl中捕捉并处理信号
- //捕捉段错误信号的信号处理程序
- 第九章 Shell信号发送与捕捉
- signal 函数捕捉信号
- 信号捕捉与模拟实现sleep()函数
- Linux 信号捕捉
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - 安装信号与捕捉信号 分类: Linux --- 应用程序设计 2014-11-08 13:00 49人阅读 评论(0) 收藏
- 捕捉信号SIGSEGV并回溯栈帧
- 在qt程序中捕捉linux信号,sigint sighup sigterm
- linux系统编程之信号(四):信号的捕捉与sigaction函数
- 多线程调用fork的问题 连续捕捉相同信号的问题
- 【置顶] signal信号捕捉
- PHP进程之信号捕捉中的declare(ticks=1)
- 信号的捕捉和处理
- Linux下捕捉信号
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - 安装信号与捕捉信号
- 常用命令:如何使用命令trap来捕捉信号
- linux下常见信号及其捕捉
- linux之信号捕捉