IPCinter process communication 的缩写,这项技术能够让进程间相互通信。
Q:每个进程都有自己的地址空间和独立的用户空间,那么进程间是如何通信的呢?
A:内核,也就是操作系统的心脏,它能够访问整个操作系统的内存。我们可以要求内核分配一块用于进程间交互的空间。

几种进程间通信的方法

进程间通信的方法有很多,有些支持同机器上进程的信息交互,有些支持跨机器的进程交互。

  • 管道 : pipes,管道提供了进程间交换信息的方法。
  • 共享内存 : shared memory,一个进程创建一块其他进程能够访问的内存空间,多个进程可以通过共享内存进行数据交换。
  • 消息队列 : message queue,消息队列是一个固定结构、有序的内存段,多个进程可以存放和取回数据。
  • 信号量 : semaphores,信号量提供了多进程访问同一资源的同步机制,信号量不负责传递数据,它协调对共享资源的访问。

常用ipcs指令

列出所有的IPC设备

ipcs -a

列出所有的消息队列

ipcs -q

列出所有的信号量

ipcs -s

列出所有的共享内存

ipcs -m

获取与IPC设备信息

ipcs -q -i msq_id

列出IPC设备的限制

ipcs -l

列出IPC设备的创建者和拥有者

ipcs -m -c

列出最近使用IPC设备的进程id

ipcs -m -p

列出IPC设备的最后访问时间

ipcs -s -t

列出IPC设备的当前使用状态

ipcs -u