Linux进程间通信的几种方式

一、进程间通信的目的

  • 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间
  • 共享数据:多个进程要操作共享数据,一个进程对共享数据
  • 信息传递:一个进程需要向另一个进程发送消息,通知它发生了某种事件。
  • 资源共享:多个进程之间共享同样的数据。为了做到这一点,需要内核提供锁和同步机制。
  • 进程控制:有些进程希望完全控制另一个进程的执行,此时控制进程希望能够拦截另一个进程的所有陷入和异常,病能够及时知道它的状态改变

二、进程间通信的概念

每个进程各自有不同的用户地址空间,任何一个进程的变量在另一个进程中都是看不到的,所以进程之间要交换数据必须通过内核,在内核中开辟出一块缓冲区。一个进程把自己的数据从用户空间拷贝到内核缓冲区,另一个进程再从内核缓冲区把数据读走。内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)

猜你喜欢

转载自www.cnblogs.com/jxc321/p/9296571.html