bytebytego绘制的linux进程间通讯的5种方式
--管道(Pipe)
管道是单向的字节流,它将一个进程的标准输出连接到另一个进程的标准输入。
--消息队列(Message Queue)
消息队列允许一个或多个进程写入消息,这些消息将被一个或多个读取进程读取。
--信号(Signal)
信号是Unix系统中使用最久的进程间通信方法之一。信号可以由键盘中断或进程试图访问其虚拟内存中不存在的位置等错误条件生成。有一组定义好的信号可以由内核生成或由系统中的其他进程生成。例如,Ctrl+C 会向进程A发送 SIGINT 信号。
--信号量(Semaphore)
信号量是内存中的一个位置,其值可以被多个进程测试和设置。根据测试和设置操作的结果,一个进程可能需要睡眠直到信号量的值被另一个进程改变。
--共享内存(Shared Memory)
共享内存允许一个或多个进程通过出现在它们所有虚拟地址空间的内存进行通信。当进程不再希望共享虚拟内存时,它们会从中分离出去。
发布于 山东
