免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4079 | 回复: 12
打印 上一主题 下一主题

如何在程序中获得和共享内存相关联的所有进程号 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-27 10:53 |只看该作者 |倒序浏览
如何知道和共享内存关联的所有进程号,通过shmctl只能知道创建进程号以及最近访问进程号,不知哪位大虾有好办法,另外如何知道进程使用swap的情况,以上不要通过系统命令获得,我需要在程序中获得,谢谢

论坛徽章:
0
2 [报告]
发表于 2003-06-27 13:25 |只看该作者

如何在程序中获得和共享内存相关联的所有进程号

我很急,希望高手不吝赐教

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2003-06-27 17:22 |只看该作者

如何在程序中获得和共享内存相关联的所有进程号

如何知道和共享内存关联的所有进程号,

具体需要关联到哪些进程,进程之间有没有什么关系

通过shmctl只能知道创建进程号以及最近访问进程号,不知哪位大虾有好办法,

可以永革结果维护pid

另外如何知道进程使用swap的情况,以上不要通过系统命令获得,我需要在程序中获得
/proc

论坛徽章:
0
4 [报告]
发表于 2003-06-27 18:06 |只看该作者

如何在程序中获得和共享内存相关联的所有进程号

fuser命令可以
共享内存应该有文件映射吧

只要有文件映射的就可以通过fuser来查看

论坛徽章:
0
5 [报告]
发表于 2003-06-27 21:43 |只看该作者

如何在程序中获得和共享内存相关联的所有进程号

On My FreeBSD

$ ipcs -mp
Shared Memory:
T     ID     KEY        MODE       OWNER    GROUP  CPID  LPID
m 131072          0 --rwarwarwa     root    wheel    327    327
m 5767169          0 --rw-r--r--     root    wheel    327    537
m 11141122          0 --rwarwarwa      lyx    wheel   1166    327
m 5701636          0 --rw-r--r--     root    wheel    327   1166

$     

/usr/src/usr.bin/ipcs have source code. read it by yourself

论坛徽章:
0
6 [报告]
发表于 2003-06-27 22:35 |只看该作者

如何在程序中获得和共享内存相关联的所有进程号

i am sorry that doesn't understand your mean first time.sorry.sorry.
i don't know how to doit.i think list are manage by kernel,couldn't read it by process.

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2003-06-28 13:16 |只看该作者

如何在程序中获得和共享内存相关联的所有进程号

swap可以通过statfs来查看吧。

至于共享内存的attach个数可以通过,shmctl(segId, IPC_STAT, &ds);取struct shmid_ds ds的成员
  unsigned short int shm_nattch;        /* number of current attaches */
来获得。

fuser恐怕只对文件的打开起作用。

论坛徽章:
0
8 [报告]
发表于 2003-06-28 14:27 |只看该作者

如何在程序中获得和共享内存相关联的所有进程号

你们的回答都不对啊,shmctl的作用我自己已经写得很清楚了,但是所有关联的进程号无法获得啊,而且我需要在程序中获得,系统命令没有意义,swap我已经有办法了,现在就是共享内存所有关联进程号了,希望大家帮助

论坛徽章:
0
9 [报告]
发表于 2003-06-28 21:43 |只看该作者

如何在程序中获得和共享内存相关联的所有进程号

你说的问题我也遇到,共享内存有一个 nattch 字段,表示当前
有几个进程和该共享内存段连接,我想你是需要知道这是哪些进程,
可是看起来不太可能,恐怕得自己解决,因为在核心部分没有留下
相应得信息。至少我没有发现。

论坛徽章:
0
10 [报告]
发表于 2003-06-29 01:53 |只看该作者

如何在程序中获得和共享内存相关联的所有进程号

共享内存好像没办法,linux下看看proc中有没有相关信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP