信号通讯编程,王明学learn

Posted for_learning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信号通讯编程,王明学learn相关的知识,希望对你有一定的参考价值。

            信号通讯编程

在Linux系统中,信号(signal)同样也是最为古老的进程间通信机制。

技术分享

一、信号类型

Linux系统支持的所有信号均定义在/usr/include/asm/signal.h(展示),其中常见的信号有:

  SIGKILL:杀死进程

  SIGSTOP:暂停进程

  SIGCHLD:子进程停止或结束时用来通知父进程

二、函数学习

2.1 发送信号

2.1.1 函数名

  kill

2.1.2 函数原形

  int kill(pid_t pid,int sig);

2.1.3 函数功能

  向进程发送信号

2.1.4 所属头文件

  <sys/types.h>  <singl.h>

2.1.5 返回值

  成功:返回0

  失败:返回-1

2.1.6 参数说明

  pid:   if(pid>0),pid 参数指向接收信号的进程

  sig:用来指明我们要发送的信号

2.2 处理信号

2.2.1 函数名

  signal

2.2.2 函数原形

  typedef void(*sighandler_t)(int);

  sighandler_t signal(int signum,sighandler_t handler);

2.2.3 函数功能

  设置信号处理方式

2.2.4 所属头文件

  <signal.h>  

2.2.5 返回值

  成功:返回处理函数的指针

  失败:返回SIG_ERR

2.2.6 参数说明

  Signum:要处理的的信号

  handler:对应信号的处理方式,可以取值(3种)

  SIG_IGN:忽视这个信号不处理

  SIG_DFL:交给内核处理

用户自己定义的函数:交给用户自定义的函数处理

 

 

以上是关于信号通讯编程,王明学learn的主要内容,如果未能解决你的问题,请参考以下文章

管道通信,王明学learn

进程控制理论,王明学learn

linux内核的组成,王明学learn

多进程程序设计,王明学learn

ARM伪指令,王明学learn

ARM寻址方式,王明学learn