Shell环境控制IPC
IPC对象一经创建,系统内核即会为该对象分配相关数据结构。为了方便对IPC对象的管理,Linux系统提供了专门的IPC控制命令,主要包括查看IPC对象信息的ipcs和删除IPC对象的ipcrm。
1、查看IPC对象信息
ipcs [参数]
(1)参数说明:
-a :查看全部IPC对象信息
-q :查看消息队列信息
-m :查看共享内存信息
-s :查看信号量信息
(2) 输出说明:
· key: 键值,在系统中是全局唯一的,表明该对象的键值。不同的IPC机制,其key值是可以重复的。
· ID :标识符,访问该IPC的标识符。对于同一键值的IPC对象,每重建(删除后重新创建)一次,标识符都将加 1,到达系统约定的最大值后归0重新加1.
· Owner: 对象属主
· perms: 对象权限,与文件权限类似,以3组共9位八进制数字表示,可以在创建对象时指定访问权限。
· nattch: 共享内存对象专用,表明有多少个进程对该共享内存进行了映射(shmat)。
· nsems: 信号量专用,表明该信号量对象包含多少个信号量(一个信号集可以包含多个信号量)。
· used-bytes: 消息队列专用,表明该消息队列中存储的数据量(以字节为单位)。
· messages: 消息队列专用,表明该消息队列中有多少条消息。
2、删除IPC对象
ipcrm [-smq] ID 或 ipcrm [-SMQ] Key
(1)参数说明:
-q、-Q :删除消息队列信息
-m、-M :删除共享内存信息
-s、-S :删除信号量信息
· 如果指定了smq,则用IPC的标识符(ID)作为输入;如果指定了SMQ,则用IPC对象的键值(key)作为输入。