[Linux] /proc ๋๋ ํ ๋ฆฌ
/proc
๋ฆฌ๋ ์ค์๋ ์ปค๋๊ณผ ์ปค๋ ๋ชจ๋๋ก๋ถํฐ ํ๋ก์ธ์ค์๊ฒ ์ ๋ณด๋ฅผ ์ ์กํด์ฃผ๊ธฐ ์ํ ์ถ๊ฐ์ ์ธ ๋ฉ์นด๋์ฆ์ธ /proc ํ์ผ์์คํ ์ด ์๋ค.
์๋๋ ํ๋ก์ธ์ค ์ ๋ณด์ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๊ธฐ ์ํด ๋ง๋ค์ด์ก๊ธฐ ๋๋ฌธ์ proc(process)๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์๋ค๊ณ ํ๋ค
ํ๋ก์ธ์ค ์ ๋ณด
๋์ถฉ ์๋ฌด ํ๋ก์ธ์ค๋ ์คํํ๊ณ ์ด ์น๊ตฌ์ proc ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ๋ณด๊ฒ ๋ค
์ด๋ ๊ฒ ์ฌ๋ฌ ์ ๋ณด๋ค์ ๋ด์ ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ์ด ๋๋ค
/proc/[pid]/maps
์๋์ฒ๋ผ ๋ฉ๋ชจ๋ฆฌ ๋งคํ์ด ์ด๋ป๊ฒ ๋์ด์๋์ง ๋ณด์ฌ์ค๋ค
/proc/[pid]/cmdline
ํ๋ก์ธ์ค ์ธ์๋ฅผ ๋ด๋ ์ ๋ค! ์ฐ๋ฆฌ๋ ๋ฑํ ์ต์ ์ ์ฃผ์ง์์๊ธฐ ๋๋ฌธ์ ์๋์ฒ๋ผ ์ถ๋ ฅ๋๋ค
/proc/[pid]/cwd
ํด๋น ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ณ ์๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋งํฌ๋ก ๊ฑธ์ด๋ ๊ฑฐ๋ค
์๋์ฒ๋ผ ๋๊ฐ์ด ์๊ฒผ๋ค
/proc/[pid]/environ
ํด๋น ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ ํ๊ฒฝ๋ณ์๋ค์ ์ถ๋ ฅํด์ค๋ค.
์๊ฐ ๊ทธ environ์ด ๊ฐ๋ฆฌํค๋, ์คํ์ ์ ์ฅํ๋ ๊ทธ ํ๊ฒฝ๋ณ์๋ค์ธ ๊ฒ ๊ฐ๋น
/proc/[pid]/exe
ํ๋ก์ธ์ค ์์ฒด๋ฅผ ๋งํฌ๋ก ๊ฑด ์ ๋ค
/proc/[pid]/loginuid
๊ทธ๋ฅ ์ ํ๋ก์ธ์ค๋ฅผ ์คํํ uid
์์ฝ
๋๋ ํ ๋ฆฌ | ์ค๋ช |
/proc/[PID]/maps | ํ๋ก์ธ์ค๊ฐ mapping ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ๊ณต๊ฐ. ๋ชจ๋ ํ๋ก์ธ์ค์๋ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ด ์์ผ๋ฉฐ, ์ด ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์(VMM)๊ฐ ์ ๊ณตํ๊ณ ๊ด๋ฆฌ |
/proc/[PID]/cmdline | ํ๋ก์ธ์ค ์ธ์(argv) ์ ์ฒด๋ฅผ ํฌํจ. Command Line์์ ๋์ด์จ argumnet๋ฅผ ํฌํจํ์ฌ ํ๋ก์ธ์ค๊ฐ ์ง์๋ ๋ฐฉ์์ ์ ํํ๊ณ ์ ์ํ๊ฒ ํ์ ํ๋ ์๋จ์ผ๋ก ์ฌ์ฉ |
/proc/[PID]/coredump_filter | ๋ฉ๋ชจ๋ฆฌ ์ ํ์ ๋นํธ๋ง์คํฌ๋ฅผ ํฌํจํ๋ฉฐ ํ๋ก์ธ์ค์ ์ด๋ค ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ๋ฅผ ๋คํ์ํฌ ๊ฒ์ธ์ง ์ค์ |
/proc/[PID]/cwd/ | ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉ์ค์ธ ๋๋ ํ ๋ฆฌ๋ ํ์ผ |
/proc/[PID]/environ | ํ๋ก์ธ์ค์ ํ์ฌ ํ๊ฒฝ์ ์ ์ฅ. ํ๋ก์ธ์ค map์์ ๊ฐ์ฅ ์๋ซ๋ถ๋ถ, ์ฆ ์ปค๋์ด ํ๋ก์ธ์ค ํ๊ฒฝ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ ์ง์ ๊ฐ๋ฆฌํค๋ ๋งํฌ |
/proc/[PID]/exe | ์คํ์ค์ธ ํ๋ก๊ทธ๋จ ์ด๋ฆ |
/proc/[PID]/fd /proc/[PID]/fdinfo |
ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉ์ค์ธ File Descriptor ๋งํฌ์ ์ ๋ณด ์ ์ฅ |
/proc/[PID]/limits | ํ๋ก์ธ์ค์ ์ ์ฉ๋ resource ์ ํ ์ฌํญ |
/proc/[PID]/loginuid | ํด๋น ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ login UID |
/proc/[PID]/mem | ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉ์ค์ธ ๋ฉ๋ชจ๋ฆฌ ์ํ |
๊ธฐํ ์์คํ ์ ๋ณด
/proc/meminfo
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ํด์ ์ถ๋ ฅํ๋ค
์ค์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ ๋ค๋ฃฌ๋ค!
/proc/cpuinfo
๋ง๊ทธ๋๋ก cpu์ ๋ํ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋ค
cpu ๋ชจ๋ธ, ์ฑ๋ฅ ๋ฑ๋ฑ์ด ๋์จ๋ค
/proc/modules
์ด๋ค ์ปค๋ ๋ชจ๋๋ค์ด ์๋์ง ๋ณด์ฌ์ค๋ค. lsmod ๋ช ๋ น์ด ์ฌ์ฉ์ ๊ฒฐ๊ณผ๋ ๋น์ทํ๋น
์์ฝ
/proc/uptime | ์์คํ ๊ฐ๋ ์๊ฐ์ ๋ํ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๋ค. |
/proc/meminfo | ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ ๋ณด๊ฐ ๋ค์ด ์๋ ํ์ผ์ด๋ค. |
/proc/cmdline | ๋ถํ ์์ ์คํ๋๋ ์ปค๋ ๊ด๋ จ ์ต์ ์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค. |
/proc/loadavg | ์ต๊ทผ 1๋ถ, 5๋ถ. 15๋ถ ๋์์ ํ๊ท ๋ถํ์จ์ ๊ธฐ๋กํ๋ ํ์ผ์ด๋ค. |
/proc/modules | ํ์ฌ ์ปค๋ ๋ชจ๋๋ก ๋ก๋ฉ๋ ๋ชจ๋ ๋ชฉ๋ก, lsmod ํ์๋ ๋์ค๋ ์ ๋ณด |
/proc/mounts | ๋ง์ดํธ๋ ํ์ผ์์คํ ์ ๋ํ ์ ๋ณด |
/proc/partitions | ํ์ฌ ์์คํ ์ ํํฐ์ ์ ๋ณด |
/proc/stat | CPU, ์ธํฐ๋ฝํธ, ์ปจํ ์คํธ ์ค์์น ๋ฑ ์ผ๋ฐ์ ์ธ ์์คํ ํต๊ณ ์ ๋ณด |