首页 > 其他 > 详细

信号通讯编程,王明学learn

时间:2016-03-21 18:10:46      阅读:226      评论:0      收藏:0      [点我收藏+]

            信号通讯编程

在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

原文:http://www.cnblogs.com/wmx-learn/p/5302879.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!