信号通讯编程

在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:交给内核处理

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

转载于:https://www.cnblogs.com/wmx-learn/p/5302879.html

信号通讯编程,王明学learn相关推荐

  1. 学习Unix/Linux编程要学些什么

    最近利用空余时间看了一下<Unix/Linux编程实践教程>,原书名为:Understanding Unix/Linux Programming: A Guide to Theory an ...

  2. 别为了学编程而学编程

    "所有人都应该学习编程"(Everyone should learn programming)--这个"病毒"已经广为扩展,达到了失控的地步,以致于纽约市长竟然 ...

  3. 13.无名管道通讯编程

    13.无名管道通讯编程 1.进程间的通信: Linux作为典型的多进程操作系统,进程与进程之间肯定需要信息交流,这就需要进程通信. 2.进程通信的目的: 1.数据传输:一个进程需要将数据发送给另一个进 ...

  4. modbus通讯协议编程实例_三菱PLC CC-LINK通讯编程实例分享,看完你就会了

    前言:小蓝上次分享了三菱PLC编程指令文章,有一位粉丝说还有标签,FB模块,以太网通讯,MODBUS,TCP通讯这些有的学的.所以今天就给大家带来CC-LINK通讯编程实例.如果看完还是不太明白怎么办 ...

  5. 全网最全解析,少儿编程到底学的是什么?

    少儿编程的发展 近年来,少儿编程教育倍受社会关注,全球已经有超过24个国家在基础教育中设立了编程教育大纲. 在美国, STEAM教育已成为其素质教育的核心,编程.3D打印.机器人等新技术教育已走进了美 ...

  6. 计算机学哪个编程好,达内机器人编程VS计算机编程,学哪个最好

    随着编程学习成为全球化的趋势,中国家长关注编程学习也越来越多,但是很多家长还是不清楚机器人编程和计算机编程的区别,也不清楚如何为孩子选择合适的课程体系?今天根据参考资料,收集了一些关于机器人编程和计算 ...

  7. 轻松学编程--轻松学Oracle数据库(附光盘)

    查看书籍详细信息: 轻松学编程--轻松学Oracle数据库(附光盘) 编辑推荐 <轻松学Oracle数据库>本书中引用了大量的动手实践案例来讲解Oracle数据库中的各种知识,使读者能够更 ...

  8. java方法重载编程_学java教程之普通方法重载

    学编程吧学java教程之普通方法重载发布了,欢迎通过xuebiancheng8.com来访问 先来看什么是普通方法重载呢,先来看一个例子 public class Person{ String use ...

  9. c+和python先学哪个比较好-【编程先学什么好,c还是python】python教程c

    编程先学什么好,c还是python 我和楼上的看法差不看个人偏好,其实各势. c的底层,学c的话,能了解一些基本的概念,编译.指针.内存管理等概念.但是由于偏底层,初学者去开发有意思的应用程序难度就比 ...

最新文章

  1. 只在必要时保存服务器控件视图状态
  2. python中的类的成员变量以及property函数
  3. easy C语言,C语言easy..doc
  4. 23 Python常用模块(一)
  5. Google Hangouts支持使用Firefox WebRTC
  6. 服务器操作系统字符集,设置服务器字符集
  7. 64 ----平面与直线之间的位置关系、平面与直线之间的交角、两直线两平面的位置关系
  8. 修改页面后获得flag_逆向基础题五:获取Flag
  9. flex builder
  10. 【Python实战系列】串口实时接收数据并基于pyqtgraph绘图
  11. 命令行字符界面与图形界面切换
  12. [TopCoder] SRM 587 DIV 2, 250p, 500p, 1000p, Solution
  13. DSt:数据结构的最强学习路线之数据结构知识讲解与刷题平台、刷题集合、问题为导向的十大类刷题算法(数组和字符串、栈和队列、二叉树、堆实现、图、哈希表、排序和搜索、动态规划/回溯法/递归/贪心/分治)总
  14. C#中Property和Attribute的区别
  15. 计算机组成原理-第一章 计算机系统概述(详细知识点总结)
  16. VFS(virtual File System) 虚拟文件系统
  17. 《微型计算机原理与接口技术》复习笔记(二)
  18. 【CSS小练习】DIV+CSS布局画图
  19. ASP标准MD5加密签名函数代码
  20. SaaS常用指标及计算方法

热门文章

  1. 程序定义了多个入口点。使用 /main (指定包含入口点的类型)进行编译
  2. 大文件数据导出(后台执行,自动生成)
  3. Building JavaScript Games for Phones Tablets and Desktop(6)- 响应玩家输入
  4. 海运业务常用缩略语 一
  5. 转贴:Icon Design Guidelines, Android 2.0
  6. 使用windows命令和iconv.exe批量转换文件编码
  7. 为什么Linux登录后显示“-bash-3.2#”-转
  8. 对makefile中:单冒号普通规则和::双冒号规则的理解 -转
  9. 使用gdb调试运行时的程序小技巧 -转
  10. [swift] LeetCode 35. Search Insert Position