Linux下信号signal

原创 2016年08月29日 10:23:43
//signal函数绑定一个捕获函数后会自动执行绑定的捕获函数,
//并且把信号编号作为传参传递给捕获函数

/*  #include <signal.h>

    typedef void (*sighandler_t)(int);

    sighandler_t signal(int signum, sighandler_t handler);

	RETURN VALUE
       signal()  returns  the previous value of the signal handler, or SIG_ERR
       on error.  In the event of an error,  errno  is  set  to  indicate  the
       cause.
*/


/*
#include<stdio.h>
#include <signal.h>

typedef void (*sighandler_t)(int);

 void func(int sig)
 {
	 if(sig!=SIGINT)
	 return;
	 
	 printf("func for signal:%d.\n",sig);
} 


int main(void)
{
	
	signal(SIGINT, func);
	
	printf("before while(1).\n");
	while(1);
	printf("after while(1).\n");
	
	return 0;
	
}
//结果为:执行后,按ctrl+c可看到func函数的输出内容即信号编号
*/

//***************************************************************
/*
#include<stdio.h>
#include <signal.h>
#include<stdlib.h>
typedef void (*sighandler_t)(int);



int main(void)
{
	sighandler_t ret = (sighandler_t)-2;
	signal(SIGINT, SIG_IGN);
	if (SIG_ERR == ret)
	{
		perror("signal:");
		exit(-1);
	}
	printf("before while(1).\n");
	while(1);
	printf("after while(1).\n");
	
	return 0;
	
}

//结果为:执行后,按ctrl+c无任何显示,因为你绑定的处理函数为忽略处理

*/

//以上两个程序终止方法:打开另一个客户端,输入ps -aux  查看./a.out的进程id
//再输入kill -9 id号  ,可以强制杀死以上程序







版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Linux下利用signal函数处理ctrl+c等信号

前言     linux下可以通过信号机制来实现程序的软中断,是一个非常有用的编程方法。我们平时在程序运行的时候按下ctrl-c、ctrl-z或者kill一个进程的时候其实都等效于向这个进程发送...

Linux下C语言开发(信号signal处理机制)

信号signal处理是Linux程序的一个特色,用信号处理来模拟操作系统的中断功能,对于系统程序员来说是最好的一个选择了。同样信号处理也是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概...

Linux下Signal信号系统调用

前面两节已经介绍了有关信号的大部分知 识。这一节我们来了解一下这些系统调用。其中,系统调用signal是进程用来设定某个信号的处理方法,系统调用kill是用来发送信号给指定进程的。这 两个调用可以形成...
  • faihung
  • faihung
  • 2017年04月04日 23:39
  • 456

Linux下Signal信号

linux信号Linux下Signal信号太详细了,终于找到了 信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号...

Linux下c编程系统函数调用Signal信号的介绍

信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,...

linux下的信号机制(signal)

1。linux的信号机制 信号时内核提供的一种异步消息机制,用于内核对进程发送异步通知事件,可以理解为进程执行的流程中的一个软中断。 信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可...

Linux下的signal信号机制

在Linux中,要发送一个信号相当容易。程序员需要知道两个信息:要发送哪个信号,将这个信号发送给哪个进程。可以用 man 7 signal 找到一个可以利用的信号的列表。用户可以只将信号发送给用户自己...
  • yuyin86
  • yuyin86
  • 2011年12月23日 14:19
  • 424

linux信号Linux下Signal信号太详细了,终于找到了

原文地址::http://www.cppblog.com/sleepwom/archive/2010/12/27/137564.html 相关文章 1、Linux 系统错误码及其说明---...

Linux 信号signal处理机制

http://my.oschina.net/chenliang165/blog/125825.     最近写程序,各种bug各种错,有一回程序莫名退出,没报错,也没产生日志和core文件,貌似正常退...
  • tiany524
  • tiany524
  • 2013年11月30日 22:01
  • 12590

linux信号处理之signal、sigaction、alarm、pause函数

信号相关的东西都在  /usr/include/singnal.h里 各种信号的定义的都在 /usr/include/i386-linux-gnu/bits/signum.h         3....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux下信号signal
举报原因:
原因补充:

(最多只允许输入30个字)