简单处理程序:
#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操作系统中用于进程间通信的重要机制之一,其本质上是一种软中断信号。它主要用于通知进程发生了异步事件,而不涉及具体的数据传递。在...
在Linux中,可以使用`signal`函数来设置特定信号的处理行为。`signal`函数原型如下: ```c void (*signal(int signum, void (*handler)(int)))(int); ``` 该函数接受两个参数: - `signum`:信号的编号。 - `...
在Linux系统中,信号处理是非常重要的一个环节,能够帮助开发者更好地控制进程的行为,并处理异常情况。 ##### 1.1 信号的产生 信号可以通过多种方式产生: - **硬件产生的信号**:例如,当进程尝试访问非法内存...
### 第9章Linux信号与定时器 #### 一、进程间通信与信号 在Linux操作系统中,进程间通信(IPC)是实现多个进程之间数据交换和同步的重要手段。进程间通信分为即时通信和非即时通信两种类型。其中,即时通信要求...
### Linux信号(signal)处理机制详解 #### 一、信号的基本概念 信号(signal),又被称为软中断信号,是一种用于进程间通信的重要机制。它允许进程在接收到特定的事件时能够采取相应的行动。信号的设计思想源自中断的...
Linux信号在进程控制中的应用非常广泛,既可以通过信号传递信息,又能在一定程度上控制进程的操作。本文将详细探讨Linux信号在进程控制中的应用,以及相关的系统调用(system call)。 Linux信号机制允许进程通过...
### Linux信号机制详解 #### 一、信号的基本概念 在Linux操作系统中,信号(Signal)是一种重要的进程间通信(IPC, Inter-Process Communication)机制,主要用于通知进程发生了某些类型的异常事件或状态变化。...
下面将详细介绍Linux信号的基本概念、处理机制以及相关操作。 1. 信号概念 信号是操作系统向进程发送的一种消息,用来中断进程的正常执行流程,使其执行特定的操作。Linux支持多种类型的信号,如SIGINT(中断,通常...
在这个示例中,我们定义了一个信号处理函数`signal_handler`,并通过`sigaction()`函数将其与`SIGINT`信号关联起来。当用户按下Ctrl+C时,进程会接收到`SIGINT`信号,并调用我们定义的处理函数。 #### 七、总结 ...
本章节将深入探讨Linux下C语言中的信号处理技术。 #### 二、信号的概念与产生 ##### 1. 信号的定义 信号是操作系统向进程发送的一种特殊类型的信息,用于通知进程发生了某些特殊情况或事件。信号可以由硬件异常(如...
### Linux信号机制详解 ...通过以上介绍,我们可以看出Linux信号机制虽然复杂,但在实际应用中提供了丰富的功能和灵活性。无论是对于系统的维护还是应用程序的开发,理解信号的工作原理都是非常重要的。
Linux信号机制是操作系统内核中用于进程间通信和异常处理的一种机制。它允许一个进程向另一个进程发送消息,这些消息可以是关于特定事件的通知,或者是请求执行特定操作的命令。在Linux系统中,信号机制是基于POSIX...
Linux中的进程信号是一种异步通信机制,用于通知进程发生了特定事件。信号的处理过程涉及到多个步骤,主要包括信号的安装、产生、注册、注销以及执行。接下来我们将深入理解这些概念。 首先,信号的安装是通过`...
### Linux信号说明文档 在Linux系统中,信号是进程间通信的一种方式,它用来通知接收进程发生了一些事件。本文档将详细介绍Linux系统中常见的信号及其用途。 #### SIGHUP(挂断信号) 当一个终端挂断时(例如,...
【Linux信号】是操作系统Linux中进程间通信的一种基础机制,它允许进程向其他进程发送简短的通知,通常用于处理异步事件。信号不携带数据,而是携带特定含义,如SIGABORT表示进程异常终止,SIGALRM则表示超时警告。...
### Linux信号专题笔记 #### Linux信号基本概念 ...通过以上介绍,我们可以了解到Linux信号机制的基本原理及其在系统中的作用。信号是Linux系统中一个重要的机制,理解和掌握它可以更好地管理和控制进程的行为。
Linux系统编程中的信号机制是操作系统提供的一种异步通信方式,它允许进程间或者操作系统与进程之间传递简短的通知。信号的概念源于现实生活中的一些信号行为,它们具有意图简单、信息量小且满足特定触发条件的特点...
本文研究的主要是Python中的Signal 信号的相关内容,具体如下。 常用信号类型 SIGINT 终止进程 中断进程,不可通过signal.signal()捕捉(相当于Ctrl+C) SIGTERM 终止进程 软件终止信号,可通过signal.signal()捕捉...