/proc/self : 현재 실행 중인 pid를 자동으로 가르킨다.
/proc/pid/maps
address perms offset dev inode pathname 08048000-08049000 r-xp 00000000 03:00 8312 /opt/test 08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test 0804a000-0806b000 rw-p 00000000 00:00 0 [heap] a7cb1000-a7cb2000 ---p 00000000 00:00 0 a7cb2000-a7eb2000 rw-p 00000000 00:00 0 a7eb2000-a7eb3000 ---p 00000000 00:00 0 a7eb3000-a7ed5000 rw-p 00000000 00:00 0 [stack:1001] a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6 a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6 a800b000-a800e000 rw-p 00000000 00:00 0 a800e000-a8022000 r-xp 00000000 03:00 14462 /lib/libpthread.so.0 a8022000-a8023000 r--p 00013000 03:00 14462 /lib/libpthread.so.0 a8023000-a8024000 rw-p 00014000 03:00 14462 /lib/libpthread.so.0 a8024000-a8027000 rw-p 00000000 00:00 0 a8027000-a8043000 r-xp 00000000 03:00 8317 /lib/ld-linux.so.2 a8043000-a8044000 r--p 0001b000 03:00 8317 /lib/ld-linux.so.2 a8044000-a8045000 rw-p 0001c000 03:00 8317 /lib/ld-linux.so.2 aff35000-aff4a000 rw-p 00000000 00:00 0 [stack] ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]
- address: memory address
- perms : memory의 권한을 나타내며, 조합으로 각 섹션을 짐작가능하다. (.text .data .bss .heap)
r = read w = write x = execute s = shared p = private (copy on write)
text : code와 실행가능하며, r-xp
data : 초기화 된 전역변수 말하며, rw-p
- offset : 실행중인 file offset. , 위에서 /opt/test 가 실행 중
- dev: 03:00 device number (주 번호- major : 부 번호- minor)
03:00 /proc/devices 와 /proc/partitions 으로 확인가능
(disk information)
- inode : inode number
/proc/pid/cmdline : 실행 중인 file에 들어온 인수 출력
/proc/pid/fd
/proc/pid/mem
/proc/pid/environ
- Linux의 Proc의 전체구조 설명
https://www.kernel.org/doc/Documentation/filesystems/proc.txt
http://forum.falinux.com/zbxe/index.php?document_srl=554058&mid=lecture_tip