`

linux中的信号处理(signal与alarm)

阅读更多

简单处理程序:

 

#include<stdlib.h>  
#include<stdio.h>  
#include<unistd.h>  
#include<signal.h>

void handle()  
{  
   printf("I am steven\n");  
   alarm(1);  
}  
int main()  
{  
   signal(SIGALRM,handle);  
   alarm(3);  
  
   while(1){}  
   return 0;  
 } 
 


函数介绍:

alarm(设置信号传送闹钟)
相关函数     signal,sleep
表头文件     #include<unistd.h>
定义函数     unsigned int alarm(unsigned int seconds);
函数说明     
                alarm()用来设置信号 SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。
返回值         返回之前闹钟的剩余秒数,如果之前未设闹钟则返回0。

 
signal(设置信号处理方式)
相关函数     sigaction,kill,raise
表头文件      #include<signal.h>
定义函数     void (*signal(int signum,void(* handler)(int)))(int);
函数说明
               signal()会依参数 signum 指定的信号编号来设置该信号的处理函数。当指定的信号到达时就会跳转到参数handler指定的函数执行。如果参数handler不是函数指针,则

 

必须是下列两个常数之一:
         SIG_IGN 忽略参数signum指定的信号。
         SIG_DFL 将参数signum 指定的信号重设为核心预设的信号处理方式。
关于信号的编号和说明,请参考附录D

返回值         返回先前的信号处理函数指针,如果有错误则返回SIG_ERR(-1)。

附加说明        在信号发生跳转到自定的 handler处理函数执行后,系统会自动将此处理函数换回原来系统预设的处理方式,如果要改变此操作请改用sigaction()。
范例     参考alarm()或 raise()。

Quote : http://blog.csdn.net/tyyhong/archive/2009/06/23/4291172.aspx

Another : http://blog.csdn.net/sambian/archive/2006/04/30/698718.aspx


分享到:
评论

相关推荐

    linux信号机制和signal

    ### Linux信号机制与Signal详解 #### 一、信号机制的基本概念 信号是Linux操作系统中用于进程间通信的重要机制之一,其本质上是一种软中断信号。它主要用于通知进程发生了异步事件,而不涉及具体的数据传递。在...

    Linux下Signal信号.pdf

    在Linux中,可以使用`signal`函数来设置特定信号的处理行为。`signal`函数原型如下: ```c void (*signal(int signum, void (*handler)(int)))(int); ``` 该函数接受两个参数: - `signum`:信号的编号。 - `...

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

    在Linux系统中,信号处理是非常重要的一个环节,能够帮助开发者更好地控制进程的行为,并处理异常情况。 ##### 1.1 信号的产生 信号可以通过多种方式产生: - **硬件产生的信号**:例如,当进程尝试访问非法内存...

    第9章linux信号与定时器

    ### 第9章Linux信号与定时器 #### 一、进程间通信与信号 在Linux操作系统中,进程间通信(IPC)是实现多个进程之间数据交换和同步的重要手段。进程间通信分为即时通信和非即时通信两种类型。其中,即时通信要求...

    Linux-signal

    ### Linux信号(signal)处理机制详解 #### 一、信号的基本概念 信号(signal),又被称为软中断信号,是一种用于进程间通信的重要机制。它允许进程在接收到特定的事件时能够采取相应的行动。信号的设计思想源自中断的...

    Linux信号在进程控制中的应用

    Linux信号在进程控制中的应用非常广泛,既可以通过信号传递信息,又能在一定程度上控制进程的操作。本文将详细探讨Linux信号在进程控制中的应用,以及相关的系统调用(system call)。 Linux信号机制允许进程通过...

    linux信号的机制

    ### Linux信号机制详解 #### 一、信号的基本概念 在Linux操作系统中,信号(Signal)是一种重要的进程间通信(IPC, Inter-Process Communication)机制,主要用于通知进程发生了某些类型的异常事件或状态变化。...

    Linux信号基础知识

    下面将详细介绍Linux信号的基本概念、处理机制以及相关操作。 1. 信号概念 信号是操作系统向进程发送的一种消息,用来中断进程的正常执行流程,使其执行特定的操作。Linux支持多种类型的信号,如SIGINT(中断,通常...

    linux c++ 信号通信开发资料

    在这个示例中,我们定义了一个信号处理函数`signal_handler`,并通过`sigaction()`函数将其与`SIGINT`信号关联起来。当用户按下Ctrl+C时,进程会接收到`SIGINT`信号,并调用我们定义的处理函数。 #### 七、总结 ...

    Linux下C语言编程——信号处理

    本章节将深入探讨Linux下C语言中的信号处理技术。 #### 二、信号的概念与产生 ##### 1. 信号的定义 信号是操作系统向进程发送的一种特殊类型的信息,用于通知进程发生了某些特殊情况或事件。信号可以由硬件异常(如...

    Linux信号——IBM教程

    ### Linux信号机制详解 ...通过以上介绍,我们可以看出Linux信号机制虽然复杂,但在实际应用中提供了丰富的功能和灵活性。无论是对于系统的维护还是应用程序的开发,理解信号的工作原理都是非常重要的。

    Linux信号机制

    Linux信号机制是操作系统内核中用于进程间通信和异常处理的一种机制。它允许一个进程向另一个进程发送消息,这些消息可以是关于特定事件的通知,或者是请求执行特定操作的命令。在Linux系统中,信号机制是基于POSIX...

    进程信号的处理过程.docx

    Linux中的进程信号是一种异步通信机制,用于通知进程发生了特定事件。信号的处理过程涉及到多个步骤,主要包括信号的安装、产生、注册、注销以及执行。接下来我们将深入理解这些概念。 首先,信号的安装是通过`...

    linux信号说明文档

    ### Linux信号说明文档 在Linux系统中,信号是进程间通信的一种方式,它用来通知接收进程发生了一些事件。本文档将详细介绍Linux系统中常见的信号及其用途。 #### SIGHUP(挂断信号) 当一个终端挂断时(例如,...

    Linux信号在进程控制中的应用.pdf

    【Linux信号】是操作系统Linux中进程间通信的一种基础机制,它允许进程向其他进程发送简短的通知,通常用于处理异步事件。信号不携带数据,而是携带特定含义,如SIGABORT表示进程异常终止,SIGALRM则表示超时警告。...

    linux信号专题笔记.docx

    ### Linux信号专题笔记 #### Linux信号基本概念 ...通过以上介绍,我们可以了解到Linux信号机制的基本原理及其在系统中的作用。信号是Linux系统中一个重要的机制,理解和掌握它可以更好地管理和控制进程的行为。

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

    Linux系统编程中的信号机制是操作系统提供的一种异步通信方式,它允许进程间或者操作系统与进程之间传递简短的通知。信号的概念源于现实生活中的一些信号行为,它们具有意图简单、信息量小且满足特定触发条件的特点...

    Python中常用信号signal类型实例

    本文研究的主要是Python中的Signal 信号的相关内容,具体如下。 常用信号类型 SIGINT 终止进程 中断进程,不可通过signal.signal()捕捉(相当于Ctrl+C) SIGTERM 终止进程 软件终止信号,可通过signal.signal()捕捉...

Global site tag (gtag.js) - Google Analytics