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信号机制的透彻分析与各种实例讲解

转自:http://blog.sina.com.cn/s/blog_636a55070101vs2d.html 转自:http://blog.csdn.net/tiany524/article/...
  • u012183924
  • u012183924
  • 2016年12月26日 20:24
  • 1556

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

信号是unix中所使用的进程通信的一种最古老的方法.系统使用它来同志一个或多个进程异步事件的发生. linux系统库bits/signum.h对信号名作了定义: linux的大多数信号是提供给内核的...
  • jianguo_liao19840726
  • jianguo_liao19840726
  • 2013年11月07日 11:58
  • 986

signal信号值对应表

下表是linux2.6在80x86上的前31个signals及其相关说明.这些信号中有些是体系结构相关的(eg:SIGCHLD,SIGSTOP),有些则专门了某些体系结构才存在的(eg:SIGSTKF...
  • xiongping_
  • xiongping_
  • 2015年07月13日 10:04
  • 1251

Linux进程间通信 - 信号(signal)机制

Linux进程间通信 - 信号机制 Linux和类Linux系统下进程间通信(Inter-Process Communication, IPC)有很多种方式,包括套接字(socket),共享内存(sh...
  • junyucsdn
  • junyucsdn
  • 2016年01月14日 17:36
  • 2502

Linux下的信号(signal)

一、信号的概念: 要理解信号,我们先来进入一个场景。用户在shell下打开一个前台进程,正在运行。在键盘上按下ctrl+C的组合键,当前前台进程会中断。是因为键盘上输入的信号通过硬件传输给驱动程序,...
  • weiwang1996
  • weiwang1996
  • 2017年06月06日 15:11
  • 194

Linux下Signal信号系统调用

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

QT信号(signal)和槽(slot)应注意的问题

信号与槽机制是比较灵活的,但有些局限性我们必须了解,这样在实际的使用过程中做到有的放矢,避免产生一些错误。下面就介绍一下这方面的情况。 1.信号与槽的效率是非常高的,但是同真正的回调函数比较起来...
  • hustyangju
  • hustyangju
  • 2014年03月27日 11:18
  • 1739

signal信号捕捉

[置顶]signal信号捕捉                分类:            java初级2013-02-17 13:431074人阅读评论(0)收藏举报 Signal 顾...
  • u011794223
  • u011794223
  • 2014年01月02日 14:19
  • 1393

Linux下Signal信号

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

进程间通信之-信号signal--linux内核剖析(九)

信号及信号来源什么是信号信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产生的。但它们还可以作为进程间通信或修改行为的一种方式,...
  • gatieme
  • gatieme
  • 2016年03月27日 13:22
  • 3209
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux下信号signal
举报原因:
原因补充:

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