进程间通信之: 共享内存

时间:2013-09-13来源:网络

下面是运行结果。从该结果可以看出,nattch的值随着共享内存状态的变化而变化,共享内存的值根据不同的系统会有所不同。

$./shmem

Createshared-memory:753665

/*在刚创建共享内存时(尚未有任何地址映射)共享内存的情况*/

------SharedMemorySegments--------

keyshmidownerpermsbytesnattchstatus

0x00000000753665david66620480

Child:Attachshared-memory:0xb7f59000/*共享内存的映射地址*/

Parent:Attachshared-memory:0xb7f59000

/*在父子进程中进行共享内存的地址映射之后共享内存的情况*/

------SharedMemorySegments--------

keyshmidownerpermsbytesnattchstatus

0x00000000753665david66620482

Child:Waitforenabledata...

Inputsomestring:

Hello/*用户输入字符串“Hello”*/

Parent:Deattachshared-memory

/*在父进程中解除共享内存的映射关系之后共享内存的情况*/

------SharedMemorySegments--------

keyshmidownerpermsbytesnattchstatus

0x00000000753665david66620481

/*在子进程中读取共享内存的有效数据并打印*/

Child:Shared-memory:hello

Child:Deattachshared-memory

/*在子进程中解除共享内存的映射关系之后共享内存的情况*/

------SharedMemorySegments--------

keyshmidownerpermsbytesnattchstatus

0x00000000753665david66620480

Deleteshared-memory

/*在删除共享内存之后共享内存的情况*/

------SharedMemorySegments--------

keyshmidownerpermsbytesnattchstatus

Finished

1 2 3

关键词: 进程间通信 共享内存 Linux 操作系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版