Chinaunix

标题: 【紧急求助】内核态 current->pid 与 用户空间线程的 pid [打印本页]

作者: tanggula2007    时间: 2010-08-24 15:56
标题: 【紧急求助】内核态 current->pid 与 用户空间线程的 pid
问题如下:
在内核态劫持 sys_mkdir  其中打印出  current->pid

在用户空间在main进程中创建一个线程,执行创建目录的动作,设该被创建的新线程中使 pid = getpid()。

现在的问题是  为什么内核空间的 current->pid 和 用户空间线程中  pid  不一样呢?


是因为linux 现有的内核版本并不支持真正意义上的内核态中的线程?
用户空间中的每一个 进程  和  每一个 线程  在内核空间中 都对应着 不同的独立的  struct task_struck  结构吗?
作者: 瀚海书香    时间: 2010-08-24 16:15
回复 1# tanggula2007
你对current->pid调用while_each_thread看看,是不是在跟某一个线程的id相同啊。
作者: tanggula2007    时间: 2010-08-24 16:24
回复 2# 瀚海书香


    现在就是想在内核空间得到那个线程所在的进程的进程pid号
作者: 帅绝人寰    时间: 2010-08-24 16:33
你应该打印current->tgid
作者: 瀚海书香    时间: 2010-08-24 17:28
回复 4# 帅绝人寰
正解。
作者: tanggula2007    时间: 2010-08-24 17:42
多谢LS二位




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2