聚沙成塔

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:

 

评分:0

我来说两句

Open Toolbar