Linux常用命令行指令 - ipcs
IPC
是 inter 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