리눅스의 부팅과정 2 (/proc)
3. 서비스의 시작, 종료
/proc 디렉토리
: 가상적으로 생기는 파티션이 마운트되는 곳으로 mount 명령으로 현재 마운트된 디렉토리들으리 보면 /proc 라는 부분이 존재한다.
[root@systech-dev /root]# mount
/dev/hda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda5 on /home type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/hda2 on /backup type ext3 (rw)
/proc 디렉토리
: 가상적으로 생기는 파티션이 마운트되는 곳으로 mount 명령으로 현재 마운트된 디렉토리들으리 보면 /proc 라는 부분이 존재한다.
[root@systech-dev /root]# mount
/dev/hda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda5 on /home type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/hda2 on /backup type ext3 (rw)
/proc 디렉토리는 실시간 시스템 정보를 가지고 있는 디렉토리들이다.
디렉토리의 내용을 아래와 같다
[root@systech-dev /proc]# ls
1 1533 2 2328 26864 2817 406 bus meminfo
10 16 201 2351 27051 2843 410 cmdline misc
10997 1685 20230 2374 27052 2844 411 cpuinfo modules
10998 1686 204 2387 27053 2849 415 crypto mounts
10999 1687 205 2416 27054 2854 416 devices mtrr
11 16905 206 2460 27055 2856 4165 diskstats net
11001 16906 20944 2474 27056 2857 4178 dma partitions
11003 16908 20945 24853 27057 2858 424 driver schedstat
12098 16909 20946 2491 27058 2881 4352 execdomains scsi
12099 16910 20947 2492 27059 2886 4354 fb self
12100 16950 21505 2499 27060 2888 4355 filesystems slabinfo
12128 16970 2176 2506 27061 2889 4357 fs stat
12129 17 2178 2510 27062 2890 4359 ide swaps
12167 1752 2186 2512 27063 2891 437 interrupts sys
127 17728 21989 2514 27064 2897 4443 iomem sysrq-trigger
128 17729 2208 2516 27065 2907 462 ioports sysvipc
12843 17730 2211 2518 27066 2944 495 irq tty
12845 17732 22136 2520 27067 2946 5 kallsyms uptime
12846 17821 22507 2544 27068 3 6 kcore version
12848 18113 2252 2569 27069 30281 7 keys vmcore
12850 18270 2253 2608 27070 32557 8 key-users vmstat
12930 18272 2289 2631 27071 373 9 kmsg zoneinfo
131 18274 22933 2640 27072 4 acpi loadavg
133 18276 2320 2647 2752 404 asound locks
15 18362 2321 2673 2792 405 buddyinfo mdstat
위의 파일 중 몇개에 대한 설명은 아래와 같다
cpuinfo | cpu 에 대한 자세한 정보를 기록 |
---|---|
interrupts | 시스템의 IRQ(interrpt)에 대한 정보를 기록 |
ioports | 입출력 포트들에 대한 정보를 기록해서 가지고 있다. |
meminfo | memory(RAM, Swap)에 대한 정보를 기록해서 가지고 있다. |
pci | PCI 포트에 대한 정보를 가지고 있따. 각각의 PCI 포트에 PCI 카드가 있다면 해당 정보가 기록된다. |
[/proc 디렉토리의 파일들]
디렉토리 | 파일 | 설명 |
---|---|---|
scsi/ | scsi | SCSI 를 사용하는 경우의 정보가 여기에 기록된다. |
net/ | arp | arp table 의 내용을 담고 있다. |
sockstat | 현재 소켓의 상황을 보여준다. | |
dev | 네트웍 장치를 보여준다. 보개고 받은 패킷수나 에러, Collision(충돌)의 수를 보여준다. |
[하위 디렉토리에 있는 파일들]
/proc 디렉토리 아래의 숫자로 이루어진 디렉토리들은 해당하는 숫자의 PID로 실행되고 있는 데몬(서비스)에 대한 정보들을 가지고 있는 디렉토리이다.
예를 들어 inetd 데몬에 대한 정보를 보려면,
[root@systech-dev /proc]# ps -aux | grep inetd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root 12242 0.0 0.0 3936 700 pts/1 S+ 21:22 0:00 grep inetd
root 17821 0.0 0.0 2728 856 ? Ss Jan30 0:01 xinetd -stayalive -pidfile /var/run/xinetd.pid
/proc 디렉토리 아래의 숫자로 이루어진 디렉토리들은 해당하는 숫자의 PID로 실행되고 있는 데몬(서비스)에 대한 정보들을 가지고 있는 디렉토리이다.
예를 들어 inetd 데몬에 대한 정보를 보려면,
[root@systech-dev /proc]# ps -aux | grep inetd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root 12242 0.0 0.0 3936 700 pts/1 S+ 21:22 0:00 grep inetd
root 17821 0.0 0.0 2728 856 ? Ss Jan30 0:01 xinetd -stayalive -pidfile /var/run/xinetd.pid
위와 같이 ps 명령으로 확인하였을 때 PID 가 17821 번으로 xinetd 데몬이 실행되고 있음을 알 수 있다. 이 xinetd 데몬에 대한 정보를 보려면 /proc 아래의 /17821 디렉토리로 가면 된다.
[root@systech-dev /proc/17821]# ls
attr cmdline cpuset environ fd limits maps mounts oom_adj root smaps statm task
auxv coredump_filter cwd exe io loginuid mem mountstats oom_score schedstat stat status wchan
아래와 같이 cmdline의 내용을 보면 command line 이 xinetd 이라는 것과 status 를 보면 현재 데몬 상태를 볼 수 있다.
[root@systech-dev /proc/17821]# cat < cmdline
xinetd-stayalive-pidfile/var/run/xinetd.pid
[root@systech-dev /proc/17821]# cat <status
Name: xinetd
State: S (sleeping)
SleepAVG: 88%
Tgid: 17821
Pid: 17821
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 32
Groups: 0 1 2 3 4 6 10
VmPeak: 2768 kB
VmSize: 2728 kB
VmLck: 0 kB
VmHWM: 872 kB
VmRSS: 856 kB
VmData: 368 kB
VmStk: 84 kB
VmExe: 156 kB
VmLib: 2036 kB
VmPTE: 40 kB
StaBrk: 081d2000 kB
Brk: 081f3000 kB
StaStk: bfb6eef0 kB
Threads: 1
SigQ: 1/72704
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000381000
SigCgt: 000000007fc3eeff
CapInh: 0000000000000000
CapPrm: 00000000fffffeff
CapEff: 00000000fffffeff
Cpus_allowed: 00000003
Mems_allowed: 1
댓글
댓글 쓰기