pid에 해당하는 task_struct에 접근하려 하는데요..
글쓴이: lemk000 / 작성시간: 화, 2011/11/29 - 3:42오후
찾아보니
struct task_struct *pid_task(struct pid *pid, enum pid_type);
이걸 이용하면 된다고 하더라구요
근데 이게 /include/linux/pid.h 에 원형이 있는것같은데
#include 라고 추가했는데
pid.h를 찾을수가 없다고 나오는데 왜그런거죠?
find로 찾아보면 분명히 저 파일이 있고.. 아니 없을리도 없는데
접근할때
int pid = getpid();
struct task_struct *task;
task = pid_task(find_vpid(pid), PIDTYPE_PID);
이런식으로 하는것이 맞긴 맞나요??
근데 pid.h가 추가가안되서 잘 모르겟네요 ㅠㅠ
Forums:
pid.h는 kernel header file 아닌가요??
그런데 소스코드에는 getpid()가 있는 걸로 봐서는 user space에서의 application인가 보네요. 무엇을 원하시는지는 잘 모르겠지만, 빌드가 안될 것 같네요 :)
句日新, 日新 日新 又日新.
priviledge
32비트 시스템 기준으로 어플리케이션이 실행되면 32비트의 메모리 공간에 어플리케이션이 올라가게 됩니다.
그중에 커널 부분의 1gb 입니다. 만약 어플리케이션에서 커널 계층에 접근하면 보안상 문제가 있겠죠.
방법은 디바이스 드라이버를 만든 후 디바이스를 통해 커널 접근 후, 어플리케이션으로 뿌려주면 좋겠군요.
댓글 달기