信号通讯编程,王明学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
时间编程 一.时间类型 Coordinated Universal Time(UTC):世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT) Calend ...
- 系统调用方式文件编程,王明学learn
系统调用方式文件编程 一.文件描述符 在Linux系统中,所有打开的文件也对应一个数字,这个数字由系统来分配,我们称之为:文件描述符. 二.函数学习 2.1打开文件 open 2.1.2 函数原形 ...
- Linux信号通讯编程
信号通讯流程为: ①进程A/内核选择信号 ②发送信号 ③进程B接收信号并处理 Linux系统支持的全部信号均定义在/usr/include/asm/signal.h.当中常见的信号有: ①SIGKIL ...
- 管道通信,王明学learn
管道通信 一.通讯目的 1.数据传输 一个进程需要将数据发送给另一个进程. 2.资源共享 多个进程之间共享同样的资源. 3.通知事件 一个进程需要向另一个/组进程发送消息,通知它们发生了某事件. 4. ...
- linux内核的组成,王明学learn
linux内核的组成 一.linux内核源代码目录结构 arch: 包含和硬件体系结构相关的代码, 每种平台占一个相应的目录, 如 i386.ARM.PowerPC.MIPS 等. block:块设备 ...
- linux驱动程序设计的硬件基础,王明学learn
linux驱动程序设计的硬件基础(一) 本章讲总结学习linux设备程序设计的硬件基础. 一.处理器 1.1通用处理器 通用处理器(GPP)并不针对特定的应用领域进行体系结构和指令集的优化,它们具有一 ...
- 信号量进程同步,王明学learn
信号量进程同步 一组并发进程进行互相合作.互相等待,使得各进程按一定的顺序执行的过程称为进程间的同步. 信号量在进程同步时初始值为:0 信号量在进程互斥时初始值为:大于0的 本章节主要使用信号量,使的 ...
- 信号量互斥,王明学learn
信号量互斥 信号量(又名:信号灯)与其他进程间通信方式不大相同,主要用途是保护临界资源(进程互斥).进程可以根据它判定是否能够访问某些共享资源.除了用于访问控制外,还可用于进程同步. 一.信号量分类 ...
- 库函数系统调用文件方式,王明学learn
库函数系统调用文件方式 基于C函数库的文件编程是独立于具体的操作系统平台的,不管是在Windows.Linux还是其他的操作系统中,都是使用这些函数.使用库函数进行程序设计可提高程序的可移植性. 对于 ...
随机推荐
- jQuery Plugin Docs
遮罩:BlockUI 对话框:Dialog 输入框:Mask Plugin 下拉框: 1.自定义的实现思路:将下拉框的选项定义为全局变量(数组),在html中定义点击事件并将数组变量转给响应函数,每次 ...
- wireshark 和 Httpwatch tcpdump
wireshark 功能强大,适用性高.过滤功能好. Httpwatch 功能单一,优缺点明显,但是非常适合抓取http交互的包,而且可以非常明确的显示出整个的交互过程. tcpdump linux ...
- poj 1789
http://poj.org/problem?id=1789 这是一道图论的题,个人觉得和那个POJ1258是差不多的,就是多了一步,题目难以读懂 题目的意思:就是给你一群字符串要你找字符串对应的字符 ...
- WPF三大模板简介
WPF支持以下类型的模板: (1) 控件模板.控件模板可以将自定义模板应用到某一特定类型的所有控件,或是控件的某一实例.决定控件外观的是ControlTemplate,它决定了控件“长成什么样子”,因 ...
- SQL Update 巧用
JOIN 样本 ********************************** Update 结存 set 结存.现有库存=c.入仓数-b.出仓数量 from 结存 a )) 入仓数 from ...
- SpringMVC java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name
当跳转到一个含有form表单的页面的时候 如<form:form commandName="useCarInfo" 必须要new一个useCarInfo的同名实例给jsp来接 ...
- 【leetcode】Sum Root to Leaf Numbers(hard)
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...
- yum安装时出现:Cannot retrieve metalink for repository: epel. Please verify its path and try again
在CentOS 6.3 x86_64下安装php-mcrypt的时候出现了问题:Error: Cannot retrieve metalink for repository: epel. Please ...
- JSP题库
一. 填空题 一个完整的JSP页面是由普通的HTML标记.JSP指令标记.JSP动作标记. 变量声明 与方法声明 .程序片 .表达式 . 注释 7种要素构成. JSP页面的基本构 ...
- [Android Pro] Java进阶学习:jar打包详解
jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布. 为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,是的,就是java存档 ...