안녕하세요?
kernel 모드에서 pid 값을 알고 있고 ppid 값을 구할려고 합니다.
pid 값을 인자로 해서 return 값을 ppid 로 해주는 함수가 없을까요?
siblings 값을 구할려구 하는데, ppid 값을 어떻게 구해야 할지 몰라서 질문 올립니다, 아무리 찾아봐도 없는 것 같아..
그럼 답변 부탁드립니다.
수고 하십시요.
/usr/src/linux/kernel/timer.c
... asmlinkage long sys_getppid(void) { int pid; struct task_struct *me = current; struct task_struct *parent; parent = me->group_leader->real_parent; for ( ; ; ) { pid = parent->tgid; #ifdef CONFIG_SMP { struct task_struct *old = parent; /* * Make sure we read the pid before re-reading the * parent pointer: */ rmb(); parent = me->group_leader->real_parent; if (old != parent) continue; } #endif break; } return pid; } ...
위 코드를 잘~ 활용하면 구할수도 있어 보입니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
/usr/src/linux/kernel/timer.c[code:1]
/usr/src/linux/kernel/timer.c
위 코드를 잘~ 활용하면 구할수도 있어 보입니다.
댓글 달기