聚沙成塔
ipcs与ipcrm命令
上一篇 /
下一篇 2013-05-16 19:00:01
/ 个人分类:常见命令
ipcs -分析消息队列、共享内存和信号量
引用
它的语法:
ipcs [-mqs] [-abcopt] [-C core] [-N
namelist]
-m输出有关共享内存(shared memory)的信息
-q输出有关信息队列(message queue)的信息
-s输出信号量(semaphore)的信息
-a所有mqs
# ipcs -m
T ID KEY MODE OWNER GROUP
Shared Memory:
m 0 0x50000d43 --rw-r--r-- root root
m 501 0x1e90c97c--rw-r----- oracle dba
对每一个资源,这个命令会显示:
TYPE 包括信息队列(q),共享内存段(m),或者信号灯(s)。
ID 资源条目的唯一的表示号
KEY 应用程序存取资源使用的参数。
MODE 存取模式和许可权限的标记
OWNER and GROUP 登录名和用户属主的组号
ipcrm清除共享内存信息
引用
它的语法:
ipcrm -m|-q|-s shm_id
-m输出有关共享内存(shared memory)的信息
-q输出有关信息队列(message queue)的信息
-s输出信号量(semaphore)的信息
shm_id共享内存id
#ipcrm -m 501
常见进程间的通信方式:
#管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
#信号量( semophore ):信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
#消息队列( message queue ):消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
#信号( sinal ):信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。
#共享内存( shared memory ):共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两两配合使用,来实现进程间的通信。
参考:
http://www.cnblogs.com/rootq/articles/1339475.html
http://www.cnblogs.com/mydomain/archive/2010/09/23/1833369.html
收藏
举报
TAG: