首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当我运行`$ ipcs`‘时,共享内存段键都是"0x00000000"?

为什么当我运行`$ ipcs`‘时,共享内存段键都是"0x00000000"?
EN

Unix & Linux用户
提问于 2018-09-08 17:28:03
回答 1查看 1.2K关注 0票数 0

因此,当我运行$ ipcs时,shared memory segment部分返回各种结果:

代码语言:javascript
复制
------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      
0x00000000 524288     jvn        600        524288     2          dest         
0x00000000 1048577    jvn        600        524288     2          dest         
0x00000000 1769474    jvn        600        393216     2          dest         
0x00000000 753667     jvn        600        524288     2          dest         
0x00000000 1146884    jvn        600        16777216   2         

0x00000000值存在于每个IPC对象中,为什么它没有不同?什么意思?

为了提供更多的上下文,TLDP声明:

要获得唯一的ID,必须使用密钥。密钥必须由客户端和服务器进程共同商定。这是为应用程序构建客户机/服务器框架的第一步。当你用电话给某人打电话时,你必须知道他们的电话号码。此外,电话公司必须知道如何将您的打出去的电话转接到其最终目的地。一旦对方以接听电话的方式作出响应,就会进行连接。在System设施的情况下,telephone'' correllates directly with the type of object being used. The电话公司‘’或路由方法可以直接与IPC密钥相关联。通过将键值硬编码到应用程序中,密钥每次都可以是相同的值。这样做的缺点是钥匙可能已经在使用了。通常,ftok()函数用于为客户机和服务器生成键值。

EN

回答 1

Unix & Linux用户

发布于 2018-09-09 11:48:30

通过在线课程,从Linux基金会认证的Sysadmin内容中找到答案:

注意,当前运行的几乎所有共享内存段都有一个00x00000000键(也称为IPC_PRIVATE),这意味着它们仅在父/子关系中的进程之间共享。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/467746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档