发布时间:2014-09-05 17:12:55作者:知识屋
linux进程间通信主要分为以下4个领域
(1)消息传递(管道,FIFO,消息队列)
(2)同步(互斥锁,条件变量,读写锁,信号量)
(3)共享内存区(匿名共享内存区,有名共享内存区)
(4)过程调用(Solaris门,Sun RPC)
linux进程间的信息共享可以分为
(1) 基于文件系统的共享
(2) 基于内核的共享
(3) 基于共享内存区的共享
IPC对象的持续性
(1)随进程间持续的IPC对象一直存在到打开着该对象的最后一个进程关闭该对象的最后一个进程关闭该对象为止。
(2)随内核持续的IPC对象一直存在到内核重新自举或显式删除该对象为止。
(3)随文件系统持续的IPC对象一直存在到显示删除该对象为止。即使系统自举了,该对象还是存在的。
IPC类型 持续性
管道 随进程
FIFO 随进程
Posix互斥锁 随进程
Posix条件变量 随进程
Posix读写锁 随进程
fcntl记录上锁 随进程
Posix消息队列 随内核
Posix有名信号量 随内核
Posix基于内存的信号量 随进程
Posix共享内存区 随内核
System V消息队列 随内核
System V信号量 随内核
System V共享内存区 随内核
TCP套接字 随进程
UDP套接字 随进程
Unix域套接字 随进程
名字空间:
当两个或多个无亲缘关系的进程使用某种类型的IPC对象来彼此交换信息时,该IPC对象必须有一个某种形式的名字或者标识符,这样其中一个进程(往往是服务器)可以创建该IPC对象,其余进程则可以指定同一个IPC对象。
IPC类型 用于打开或创建IPC的名字空间 IPC打开后的标识
管道 没有名字 描述符
FIFO 路径名 描述符
Posix互斥锁 没有名字 pthread_mutex_t指针
Posix条件变量 没有名字 pthread_cond_t指针
Posix读写锁 没有名字 pthread_rwlock_t指针
fcntl记录上锁 路径名 描述符
Posix消息队列 Posix IPC名字 mqd_t值
Posix有名信号量 Posix IPC名字 sem_t指针
Posix基于内存的信号量 没有名字 sem_t指针
Posix共享内存区 Posix IPC名字 描述符
System V消息队列 key_t键 System V IPC标识符
System V 信号量 key_t键 System V IPC标识符
System V共享内存区 key_t键 System V IPC 标识符
门 路径名 描述符
sun RPC 程序/版本 RPC句柄
TCP套接字 IP地址与TCP 端口 描述符
UDP套接字 IP地址与UDP端口 描述符
Unix域套接字 路径名 描述符
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能