linux进程间的通信
进程间的通信就是不同的进程之间传播或交换信息,进程的用户空间是互相独立,进程之间可以利用系统空间交换信息。
管道
允许将一个进程的标准输出和另一个进程的标准输入连接在一起,主要用于不同进程之间的通信,linux shell允许重定向,而重定向使用的就是管道。
信号量
信号量是一种技术器,可以控制进程间多个线程或者多个进程对资源的同步访问,它常实现为一种锁机制。
信号
用在一个或者多个进程之间传递异步信号。操作系统通过信号来通知某一进程发生了某一种预定好的事件
共享内存
共享内存映射为一段可以被其他进程访问的内存,该共享内存由一个进程所创建,然后其他进程可以挂载到该共享内存中。
套接字
socket也是一种进程间的通信机制,不过它与其他通信方式的主要区别在于:它可以实现不同主机的进程通信
几种方式的优缺点
管道:速度慢,容量有限,只能用于亲缘关系进程间的通信;
信号量:主要用于同步,无法传递复杂的数据