码迷,mamicode.com
首页 > 系统相关 > 详细

【UNIX】什么是进程间FIFO通信以及信号通信

时间:2014-12-01 22:33:40      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   sp   java   strong   文件   

上篇中的无名管道通信是父子进程之间的通信,限定了进程之间的通信,从而就有了有名管道,它可以使不同进程之间进行通信,有名管道可以通过指定路径名来指出,兵长文件系统中可见。进程通过文件IO来操作有名管道,有名管道遵从先进先出的原则,但是不支持lseek函数。

1)int mkfifo(const char *pthname,mode_t mode)创建有名管道,

2)在内核中创建对象,但没有打开读写,有名管道的读写要自己打开,

3)文件对象在文件系统中创建文件节点,

4)在两个进程中,只会创建一次,若有节点则不会创建,第二次创建会返回错误信息,

FIFO的一般形式函数:


信号通信

1)信号通信是在软件层次上对中断机制的一种模拟,是一种异步通信方式。

信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些系统事件,

若果该进程当前处于未执行的状态,该信号就由内核保存起来,直到该进程恢复执行再传递给它,若果一个信号被进程设置为阻塞,则该信号的传递被延迟,直到阻塞被取消才传递给进程。

2)信号的生命周期

bubuko.com,布布扣bubuko.com,布布扣



【UNIX】什么是进程间FIFO通信以及信号通信

标签:style   blog   http   io   ar   sp   java   strong   文件   

原文地址:http://blog.csdn.net/cj_kano/article/details/41653023

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!