信号通讯编程,王明学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还是其他的操作系统中,都是使用这些函数.使用库函数进行程序设计可提高程序的可移植性. 对于 ...
随机推荐
- Linux中增加软路由的两种方法/删除的方法
第一种: route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.254 dev eth0 route del gw 172.1 ...
- [20160731]read a file and print it on the screen
//read a file and print it on the screen import java.io.*; public class MyPrintStreamTest2{ public s ...
- 在eclipse上开发hadoop2.5.2程序的快捷方法
本文仍然使用MapReduce的经典例子 WordCount来测试eclipse的开发环境. 与大部分教程不同的是,本文使用的hadoop是2.5.2的版本,相较于之前的0.X版本,hadoop 2. ...
- IO复用与select函数
socket select函数的详细讲解 select函数详细用法解析 http://blog.chinaunix.net/uid-21411227-id-1826874.html linu ...
- How to take partial screenshot with Selenium WebDriver in python
from selenium import webdriver from PIL import Image fox = webdriver.Firefox() fox.get('http://stack ...
- ios 在程序中使用iCloud
注意,这里说的使用icould不是用icloud进行系统备份,那个功能不需要我们写代码,备份到icloud的东西我们也不能操作.我们指的是以下这3种icloud使用方法: 这里有3中使用方法, Key ...
- Win7下同时使用有线和无线时的优先级设置
终于找到这个问题的解决方案了!!!!我是通过方法1改跃点数实现的,方法2无效. http://linshengling.blog.163.com/blog/static/114651912012102 ...
- codeforces 499A.Inna and Pink Pony 解题报告
题目链接:http://codeforces.com/problemset/problem/499/A 题目意思:有两种按钮:1.如果当前观看的时间是 t,player 可以自动处理下一分钟,姑且理解 ...
- 为Kindeditor控件添加图片自动上传功能
Kindeditor是一款功能强大的开源在线HTML编辑器,支持所见即所得的编辑效果.它使用JavaScript编写,可以无缝地与多个不同的语言环境进行集成,如.NET.PHP.ASP.Java等.官 ...
- va_list使用
http://www.programfan.com/blog/article.asp?id=41937