- 0
- 0
- 约7.42千字
- 约 68页
- 2018-10-19 发布于浙江
- 举报
16信号一
本章目标 命名管道(FIFO) 匿名管道与命名管道区别 命名管道的打开规则 命名管道示例程序 * 管道应用的一个限制就是只能在具有共同祖先(具有亲缘关系)的进程间通信。 如果我们想在不相关的进程之间交换数据,可以使用FIFO文件来做这项工作,它经常被称为命名管道。 命名管道是一种特殊类型的文件 命名管道(FIFO) 创建一个命名管道 命名管道可以从命令行上创建,命令行方法是使用下面这个命令: $ mkfifo filename 命名管道也可以从程序里创建,相关函数有: int mkfifo(const char *filename,mode_t mode); 匿名管道与命名管道 匿名管道由pipe函数创建并打开。 命名管道由mkfifo函数创建,打开用open FIFO(命名管道)与pipe(匿名管道)之间唯一的区别在它们创建与打开的方式不同,一量这些工作完成之后,它们具有相同的语义。 命名管道的打开规则 如果当前打开操作是为读而打开FIFO时 O_NONBLOCK disable:阻塞直到有相应进程为写而打开该FIFO O_NONBLOCK enable:立刻返回成功 如果当前打开操作是为写而打开FIFO时 O_NONBLOCK disable:阻塞直到有相应进程为读而打开该FIFO O_NONBLOCK enable:立刻返回失败,错误码为ENXIO 总结 命名管道(FIFO) 匿名管道与命名管道区别 命名管道的打开规则 命名管道示例程序 * sigprocmask(2-1) #include signal.h int sigprocmask(int how, const sigset_t *set, sigset_t *oset); 功能:读取或更改进程的信号屏蔽字。 返回值:若成功则为0,若出错则为-1 如果oset是非空指针,则读取进程的当前信号屏蔽字通过oset参数传出。如果set是非空指针,则更改进程的信号屏蔽字,参数how指示如何更改。如果oset和set都是非空指针,则先将原来的信号屏蔽字备份到oset里,然后根据set和how参数更改信号屏蔽字。假设当前的信号屏蔽字为mask,下表说明了how参数的可选值。 sigprocmask(2-2) how参数的含义 总结 信号在内核中的表示 信号阻塞与未诀 信号集操作函数 sigprocmask * 信号(五) 第二十章 * 本章目标 sigaction函数 sigaction结构体 sigaction示例 * sigaction 包含头文件signal.h 功能:sigaction函数用于改变进程接收到特定信号后的行为。 原型: int sigaction(int signum,const struct sigaction *act,const struct sigaction *old); 参数 该函数的第一个参数为信号的值,可以为除SIGKILL及SIGSTOP外的任何一 个特定有效的信号(为这两个信号定义自己的处理函数,将导致信号安装错误) 第二个参数是指向结构sigaction的一个实例的指针,在结构 sigaction的实例中,指定了对特定信号的处理,可以为空,进程会以缺省方式对信号处理 第三个参数oldact指向的对象用来保存原来对相应信号的处理,可指定oldact为NULL。 返回值:函数成功返回0,失败返回-1 sigaction结构体 第二个参数最为重要,其中包含了对指定信号的处理、信号所传递的信息、信号处理函数执行过程中应屏蔽掉哪些函数等等 struct sigaction { void (*sa_handler)(int); void (*sa_sigaction)(int, siginfo_t *, void *); sigset_t sa_mask; int sa_flags; void (*sa_restorer)(void); }; 总结 sigaction函数 sigaction结构体 sigaction示例 * 信号(六) 第二十一章 * 本章目标 sigqueue函数 sigval联合体 sigqueue示例 * sigqueue函数 功能:新的发送信号系统调用,主要是针对实时信号提出的支持信号带有参数,与函数sigaction()配合使用。 原型: int sigqueue(pid_t pid, int sig, const union sigval value); 参数 sigqueue的第一个参数是指定接收信号的进程id,第二个参数确定即将发送的信号,第三个参数是一个联合数据结构union sigval,指定了信号传递的参数,即通常所说的4字节值。 返回值成功返回0,失败返回-1 sigval
您可能关注的文档
- +册安全日记.doc
- +册安全日记1.doc
- 00109采面.doc
- 006主题材料.ppt
- 003访问规则.ppt
- 00软件测试引言.ppt
- 012安全模型.ppt
- 017安全培训1.ppt
- 01安全目标管理.doc
- 01绪论无损检测.ppt
- 2026年芜湖市官河小学顶岗教师招聘备考题库附答案详解.docx
- 2026年咨询师接诊考试题及答案.docx
- 2026年芜湖市急救中心公开招聘编外工作人员2名备考题库及参考答案详解1套.docx
- 2026年芜湖市急救中心公开招聘编外工作人员2名备考题库及参考答案详解一套.docx
- 2026年芜湖市急救中心公开招聘编外工作人员2名备考题库及参考答案详解.docx
- 2026年芜湖市急救中心公开招聘编外工作人员2名备考题库带答案详解.docx
- 2026年芜湖市官河小学顶岗教师招聘备考题库含答案详解.docx
- 2026年芜湖市官河小学顶岗教师招聘备考题库及完整答案详解1套.docx
- 2026年芜湖市官河小学顶岗教师招聘备考题库及参考答案详解.docx
- 2026年遴选考试真题讲解及答案.docx
原创力文档

文档评论(0)