免费注册 查看新帖 |

Chinaunix

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

[函数] 能不能得到任意进程的信号处理函数的地址 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-17 13:22 |只看该作者 |倒序浏览
能不能有方法确定任意一个进程的信号处理情况,如哪些信号是Default的,哪些是Ignore的,哪些是Catch的,如果是被Catch了的信号,那么处理函数的地址或是名称是什么?

前边确定每个信号的处理情况倒是通过读proc/status可以得到,但是最后如何得到每个进程的信号处理函数地址呢?

另外谁能告诉我proc/status的具体文件格式应该怎样解析?尤其是uid和gid后边都有四个值,各对应什么id呀?

[ 本帖最后由 tjsailor 于 2005-12-17 13:27 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2005-12-17 15:41 |只看该作者
能不能办到大家出来说个话呀,别都不吭声,这贴都快要沉了

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2005-12-17 17:51 |只看该作者
或许你可以试试sigaction,
找到每个信号的处理函数地址。
man sigaction

论坛徽章:
0
4 [报告]
发表于 2005-12-17 18:22 |只看该作者
但是sigaction只能得到自己的信号处理函数呀,我们老师要求找到任意一个进程的信号处理函数,是不是不能实现啊?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2005-12-17 18:29 |只看该作者
不清楚,
你得对操作系统比较熟悉。

论坛徽章:
0
6 [报告]
发表于 2005-12-17 18:52 |只看该作者
status地描述信息应当依次为
进程 父进程id 真实和有效 用户id组id, 使用的存储空间
还有信号的掩码--可以得到那个信号被捕获、忽略、阻赛,
但并没有关于哪个信号被哪个函数处理的信息呀。

论坛徽章:
0
7 [报告]
发表于 2005-12-17 19:21 |只看该作者
原帖由 renstone921 于 2005-12-17 18:52 发表
status地描述信息应当依次为
进程 父进程id 真实和有效 用户id组id, 使用的存储空间
还有信号的掩码--可以得到那个信号被捕获、忽略、阻赛,
但并没有关于哪个信号被哪个函数处理的信息呀。

我想也是,老师布置了,估计他也没有试过,可能不可以得到处理函数的信息。

论坛徽章:
0
8 [报告]
发表于 2005-12-17 19:31 |只看该作者
或者可以这样考虑.
这样的任务在用户态无法完成的,可以考虑写一个驱动,对系统内进程进行遍历,获得进程的taskstruct结构的指针,这个指针所指向的结构里面定义了一个sigaction数组,通过数组可以获得信号处理函数的地址。

至于如何对系统内进程进行遍历,mq110写过一个遍历系统内进程模块,你可以到内核版的精华区看一下。

论坛徽章:
0
9 [报告]
发表于 2005-12-17 21:12 |只看该作者
十分谢谢restone921!虽然我没学过写驱动,但是mq110的程序结构借给我用就完全可以了

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
10 [报告]
发表于 2005-12-17 22:44 |只看该作者
每个进程都有自己的程序地址空间,其他进程的信号处理函数地址对当前进程来说代表什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP