Riucc's Storage
RSS
태그
관리
쓰기
카테고리
  • IT (593)
    • 정리 (0)
    • C# (42)
    • ASP.NET MVC (16)
    • JQuery&Javascript (12)
    • CSS (11)
    • 데이터베이스 (32)
    • Windows Server (6)
    • Active Directory (3)
    • Exchange (9)
    • JAVA (2)
    • JSP (39)
    • JSP 게시판 만들기 (21)
    • JSP 개발 참고 (15)
    • JSP 안드로이드 (4)
    • Servlet (17)
    • Spring (42)
    • HTML (14)
    • NodeJS (46)
    • MongoDB (11)
    • 리눅스 (18)
    • 자료구조 (16)
    • 아이폰 (24)
    • 안드로이드 (68)
    • API 활용하기 (10)
    • 소켓네트워크 (28)
    • 라즈베리파이 (11)
    • AWS클라우드 (10)
    • 빅데이터Hadoop (22)
    • 커널모듈프로그래밍 (8)
    • 기타 (10)
    • 자격증 (26)
Riucc's Storage

[모듈프로그래밍] - task_struct 이용하여 프로세스 정보 확인하기

커널모듈프로그래밍|2017. 6. 15. 15:42
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 ○ task_struct 이용하여 프로세스 정보 확인하기

 

#include <linux/init.h>

#include <linux/kernel.h>

#include <linux/module.h>

#include <linux/sched.h>   // task_struct 사용하기 위한 헤더 파일

                                   // find / -name "sched.h"  로 헤더 파일 위치를 찾는다

int __init init_test(void){   // 모듈이 장착될 때(insmod)

        struct task_struct *p;

        p = get_current();   // 현재 프로세스를 얻는다


        // 자식과 부모의 pid, state, comm 을 얻는다

        printk("[Kernel Message] : Currnet Process\n");

        printk("pid = %d, state = %ld, comm = %s\n", p->pid, p->state, p->comm); 

        struct task_struct *pa;

        pa = p->real_parent;   // 현재 프로세스가 가르키는 부모 프로세스를 얻는다


        printk("[Kernel Message] : Parent Process\n");

        printk("pid = %d, state = %ld, comm = %s\n", pa->pid, pa->state, pa->comm);

        return 0;

}

void __exit exit_test(void){}   // 모듈이 해제될 때(rmmod)


module_init(init_test);

module_exit(exit_test);

MODULE_LICENSE("GPL");


# make   통해 커널 오브젝트 파일을 생성하고

# /sbin/insmod 해당파일.ko   통해 커널 오브젝트 파일을 장착한다

# dmesg    통해 확인한다


'커널모듈프로그래밍' 카테고리의 다른 글

[모듈프로그래밍] - 모듈에 값을 입력받아 출력하기  (0) 2017.05.24
[모듈프로그래밍] - 모듈에 함수를 추가하여 다른 모듈에서 사용하기  (0) 2017.05.24
[모듈프로그래밍] - 커널 모듈 구현  (0) 2017.05.21
[커널프로그래밍] - make menuconfig 안되면 해결하기  (0) 2017.03.31
[커널프로그래밍] - linux/linkage.h 없다하면 해결하기  (0) 2017.03.31

댓글()
카테고리
  • IT (593)
    • 정리 (0)
    • C# (42)
    • ASP.NET MVC (16)
    • JQuery&Javascript (12)
    • CSS (11)
    • 데이터베이스 (32)
    • Windows Server (6)
    • Active Directory (3)
    • Exchange (9)
    • JAVA (2)
    • JSP (39)
    • JSP 게시판 만들기 (21)
    • JSP 개발 참고 (15)
    • JSP 안드로이드 (4)
    • Servlet (17)
    • Spring (42)
    • HTML (14)
    • NodeJS (46)
    • MongoDB (11)
    • 리눅스 (18)
    • 자료구조 (16)
    • 아이폰 (24)
    • 안드로이드 (68)
    • API 활용하기 (10)
    • 소켓네트워크 (28)
    • 라즈베리파이 (11)
    • AWS클라우드 (10)
    • 빅데이터Hadoop (22)
    • 커널모듈프로그래밍 (8)
    • 기타 (10)
    • 자격증 (26)
최근 등록 현황
최근 글
최근 월별 글
최근 댓글
최근 글
최근 월별 글
최근 댓글
최근 글
최근 월별 글
최근 댓글
달력
지난달
2025.6
다음달
일월화수목금토
1234567
891011121314
15161718192021
22232425262728
2930
태그 구름
  • 데이터베이스
  • 이클립스 mysql 연동
  • 안드로이드 intent
  • 이클립스 디비 연동
  • 정보처리산업기사 16년 필기
  • 정보처리산업기사 총정리
  • 정보처리산업기사 필기 정리
  • 커널 모듈 프로그래밍
  • 정보처리기사 실기 정리
  • 정규화
  • 정보처리산업기사 15년
  • 정보처리산업기사 15년 필기
  • 자료구조
  • 카카오 로그인 연동
  • 정규형
  • 정보처리산업기사 요약
  • 정보처리산업기사 16년
  • 안드로이드 카카오 로그인 연동
  • 안드로이드 카카오 로그인
  • 안드로이드
  • 정보처리산업기사 정리
  • HTML
  • 소켓 프로그래밍
  • nodejs express
  • 리눅스
  • nodejs MySQL 연동하기(Connection Pool)
  • 정보처리산업기사 필기
  • 카카오 로그인
  • jsp
  • 소켓
카운터
전체 방문자
오늘
어제
Skin by M1REACT. Designed by M1STORY.TISTORY.COM. Valid XHTML 1.0 and CSS 3. Copyright ⓒ Riucc's Storage. All rights reserved.

티스토리툴바