在2.6.15版本的内核中,我发现我可以重写task_struct
文件(include/linux/sched.h)中的内容,例如:
struct task_struct {
unsigned did_exec:1;
pid_t pid;
pid_t tgid;
...
char hide;
}
但是,不幸的是,当我升级到版本 2.6.30.5 时,我查看了同一个文件,我只找到了 的声明task_struct
,例如:
struct task_struct;
我不知道应该参考哪个文件来指定我自己的文件task_struct
?有人能帮我吗?
答案1
使用grep
或任何其他搜索工具来查找定义:
grep -r '^struct task_struct ' include
或者在线搜索LXR: http://lxr.linux.no/linux+v2.6.30.5/+search?search=task_struct
答案2
我正在使用 Debian 挤压。我在与我当前内核相对应的标头中看到了一个定义,位于/usr/src/linux-headers-2.6.32-5-common-vserver/include/linux/sched.h
.定义开始于
struct task_struct {
volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
void *stack;
atomic_t usage;
unsigned int flags; /* per process flags, defined below */
unsigned int ptrace;
int lock_depth; /* BKL lock depth */
HTH。