linux进程间的通信方式

时间:2023-03-09 06:47:33
linux进程间的通信方式

linux进程间的通信

进程间的通信就是不同的进程之间传播或交换信息,进程的用户空间是互相独立,进程之间可以利用系统空间交换信息。

管道

允许将一个进程的标准输出和另一个进程的标准输入连接在一起,主要用于不同进程之间的通信,linux shell允许重定向,而重定向使用的就是管道。

信号量

信号量是一种技术器,可以控制进程间多个线程或者多个进程对资源的同步访问,它常实现为一种锁机制。

信号

用在一个或者多个进程之间传递异步信号。操作系统通过信号来通知某一进程发生了某一种预定好的事件

共享内存

共享内存映射为一段可以被其他进程访问的内存,该共享内存由一个进程所创建,然后其他进程可以挂载到该共享内存中。

套接字

socket也是一种进程间的通信机制,不过它与其他通信方式的主要区别在于:它可以实现不同主机的进程通信

几种方式的优缺点
管道:速度慢,容量有限,只能用于亲缘关系进程间的通信;

信号量:主要用于同步,无法传递复杂的数据