进程间通信不可能发生在用户空间,必须通过内核对象进行。
基础知识
linux 通过inode 来区分不同的文件
一、同一内核中进程通信方式
1.管道
1)pipe 匿名管道
匿名管道是单向队列,管道写是入列,读是出列。读写阻塞。
只能用于父子进程间通信。因为匿名管道在用户空间没有名称,父子进程完全一样,其他进程则无法访问。
2)mkfifo 命名管道
命名管道是单向队列。
没有血缘关系的进程通过相同的名称去访问内核中的管道,从而实现通信
2.信号
信号是已经存在于内核空间对象,有64种信号。用户空间不能发送信号。
如何使用:
目前进程ID(PID),信号ID(SID)
原文:http://www.cnblogs.com/aoun/p/5093213.html