`
deepfuture
  • 浏览: 4402026 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80084
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70101
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103413
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285931
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15019
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67610
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32177
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46003
社区版块
存档分类
最新评论

linux-C信号处理函数

阅读更多
#include <stdio.h>
#include <unistd.h>
#include <signal.h>

void catch_int(int sig_num){
  signal(SIGINT,catch_int);//再次设置信号回调函数。ctrl+c:INT信号,ctrl+Z:挂起,TSTP信号.ctrl+\:发送BRT信号,进程立即中止,类似于ctrl-c,但灵活性更强
  printf("ctrl+c press!\n"); //ctrl+c失去作用,在此仅打印
  fflush(stdout); 
}
//深未来技术 http://deepfuture.iteye.com
void catch_alarm(int sig_num){
   printf("timeout,bye!\n");
   alarm(0);//清除定时器
   exit(0);
}
int main(void){
  int x; 
  signal(SIGALRM,catch_alarm);  //定时器信号
  signal(SIGINT,catch_int); //设置ctrl-c信号的回调函数是catch_int,以拦截ctrl-c。
  printf("please input an integer:");
  fflush(stdout); 
  alarm(20);//20秒时限
  scanf("%d",&x);//20秒内用户输入一个数
  printf("integer is :%d\n",x);
  return 0;
}

 knoppix@Microknoppix:/mnt-system/deepfuture$ gcc -o test9 test9.c
test9.c: In function 'catch_alarm':
test9.c:14: warning: incompatible implicit declaration of built-in function 'exit'

knoppix@Microknoppix:/mnt-system/deepfuture$ ./test9
please input an integer:^Cctrl+c press!
^Cctrl+c press!
^Cctrl+c press!
^Cctrl+c press!
timeout,bye!

0
0
分享到:
评论

相关推荐

    Linux下C语言编程--信号处理函数.

    ### Linux下C语言编程——信号处理函数 #### 一、信号的基本概念与产生 在Linux系统中,**信号**是一种轻量级的进程间通信机制,用于通知接收进程某个特定事件的发生。它不仅可以由硬件异常(如除零错误)触发,也...

    Linux-C编程API函数(掌握这些足够).pdf

    linux下C编程各种API接口,查找非常方便,并且还有实例,我也是借花谢佛,不知道是哪位大佬整理的,这么好的资源应该跟大家一起分享! 1 字符测试篇 2 字符串转换篇 3 内存控制篇 4 日期时间篇 5 内存及字符...

    Linux-C编程常用API接口-函数

    linux中常用API详细介绍,包含应用例程 1 字符测试篇 2 2 字符串转换篇 10 3 内存控制篇 17 4 日期时间篇 22 5 内存及字符串操作篇 28 ...13 信号处理篇 153 14 接口处理篇 166 15 环境变量篇 184 16 终端控制篇 186

    linux-c语言编程.pdf

    - 了解Linux下的时间函数,如`time()`、`clock_gettime()`,以及如何处理时区和日期格式化。 2. **信号处理**: - 信号是Linux系统中进程间的一种通信方式,用于通知接收进程发生了某个事件。 - 学习如何捕获和...

    Linux 多线程应用中如何编写安全的信号处理函数

    ### Linux多线程应用中如何编写安全的信号处理函数 #### 概述 在Linux多线程编程中,正确处理信号对于确保程序的稳定性和安全性至关重要。本文将深入探讨如何在多线程环境中编写安全的信号处理函数,尤其是在程序...

    Linux系统调用-- recv/recvfrom 函数详解

    ### Linux系统调用-- recv/recvfrom 函数详解 #### 功能描述 `recv` 和 `recvfrom` 是两个用于从套接字接收数据的重要函数。`recv` 主要用于面向连接的套接字(例如TCP),而 `recvfrom` 可以用于面向连接和无连接...

    QNX-UNIX-POSIX-C函数手册-chm格式.7z

    《QNX-UNIX-POSIX-C函数手册》是一份针对编程初学者的宝贵资源,尤其适合那些在Linux环境中使用C语言进行开发的程序员。这份手册详细介绍了C语言标准库以及与QNX、UNIX和POSIX操作系统相关的扩展函数,旨在帮助...

    linux-c.zip_C语言_Linux C语言_linux_linux-c

    除了上述内容,还有许多高级主题,如信号处理、线程编程、内存管理、网络编程等,都是Linux下C语言开发中不可或缺的知识。通过阅读《Linux下C语言》这本书,你可以更深入地了解这些主题,提高你的编程技能。 总的来...

    Linux-C语言编程系列

    本文将深入探讨Linux系统与C语言的结合,帮助读者掌握在Linux下编写C程序的关键知识点。 首先,了解Linux操作系统是必要的。Linux是一种开源、自由的操作系统,基于Unix,提供了一个强大的命令行接口(CLI)和图形...

    Linux-C.rar_linux C函数_linux 包含文件

    本压缩包"Linux-C.rar"正是针对Linux系统下C语言编程的参考资料,包括两个文件:Linux_C函数.pdf和Linux C函数使用手册.chm,这两个文档都是中文版,方便了国内开发者学习和查阅。 Linux C函数是进行Linux系统编程...

    linux-c-api-ref.zip_linux api_linux-c-api-ref

    4. **信号处理**:信号是进程间通信的一种方式,`signal()`或`sigaction()`用于注册信号处理函数,`raise()`发送信号给当前进程,`kill()`向指定进程发送信号。 5. **内存管理**:`malloc()`和`free()`负责动态内存...

    Linux-c课件

    "Linux C课件"涵盖了这一关键领域的知识,帮助学习者掌握在Linux环境下使用C语言进行程序设计的基础与进阶技巧。 1. **Linux环境介绍** - Linux是一种自由开放的操作系统,基于Unix,具有高度可定制性和稳定性。 ...

    01--Linux系统编程-信号.docx

    在Linux/UNIX环境中,信号自早期版本起就被引入,并随着时间的推移逐渐演变为可靠的通信手段,尽管在不同的实现中存在一些不兼容性,但POSIX.1标准的制定统一了可靠信号的处理。 信号的机制类似于硬件中断,但它们...

    linux平台C语言信号和操的实现

    "Linux平台C语言信号和槽的实现"是一个项目,它旨在在不依赖Qt库的情况下,使用C语言模仿Qt的信号和槽机制。Qt的信号与槽是用于对象间通信的一种强大机制,但它们是用C++实现的,而此项目则是将其概念应用到C语言中...

    linux-c函数库参考

    8. **信号处理**:信号是Linux系统中进程间通信的一种方式,书中会讲解signal()、sigaction()等函数,以及如何捕获和处理信号。 9. **系统调用**:Linux提供了一系列系统调用供用户空间的程序使用,如read()、write...

    linux下C语言函数手册

    6. **信号处理**:解释如何捕获和处理操作系统发送的信号,如signal, raise等函数。 7. **内存管理**:包括动态内存分配(malloc, calloc, realloc, free)以及内存对齐的相关知识。 8. **I/O流**:讲解stdio流的...

    liunx信号概念及c信号函数的使用

    在Linux操作系统中,信号(Signal)是一种...通过对Linux信号和C语言信号函数的深入理解和实践,可以编写出能够有效响应系统事件和异常的健壮程序。在实际开发中,合理利用信号机制能够增强程序的容错性和可维护性。

Global site tag (gtag.js) - Google Analytics