๐Ÿ–ฅ๏ธ Computer Science/Linux

[Linux] /proc ๋””๋ ‰ํ† ๋ฆฌ

Rosieblue 2023. 10. 4. 20:22
728x90

/proc

๋ฆฌ๋ˆ…์Šค์—๋Š” ์ปค๋„๊ณผ ์ปค๋„ ๋ชจ๋“ˆ๋กœ๋ถ€ํ„ฐ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ •๋ณด๋ฅผ ์ „์†กํ•ด์ฃผ๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€์ ์ธ ๋ฉ”์นด๋‹ˆ์ฆ˜์ธ /proc ํŒŒ์ผ์‹œ์Šคํ…œ์ด ์žˆ๋‹ค.

์›๋ž˜๋Š” ํ”„๋กœ์„ธ์Šค ์ •๋ณด์— ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๊ธฐ ๋•Œ๋ฌธ์— proc(process)๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค

 

 

 

ํ”„๋กœ์„ธ์Šค ์ •๋ณด

 

๋Œ€์ถฉ ์•„๋ฌด ํ”„๋กœ์„ธ์Šค๋‚˜ ์‹คํ–‰ํ•˜๊ณ  ์ด ์นœ๊ตฌ์˜ proc ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฐ€๋ณด๊ฒ ๋‹ค

 

์ด๋ ‡๊ฒŒ ์—ฌ๋Ÿฌ ์ •๋ณด๋“ค์„ ๋‹ด์€ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ƒ์„ฑ์ด ๋๋‹ค

 

/proc/[pid]/maps

์•„๋ž˜์ฒ˜๋Ÿผ ๋ฉ”๋ชจ๋ฆฌ ๋งคํ•‘์ด ์–ด๋–ป๊ฒŒ ๋˜์–ด์žˆ๋Š”์ง€ ๋ณด์—ฌ์ค€๋‹ค

 

/proc/[pid]/cmdline

ํ”„๋กœ์„ธ์Šค ์ธ์ˆ˜๋ฅผ ๋‹ด๋Š” ์• ๋‹ค! ์šฐ๋ฆฌ๋Š” ๋”ฑํžˆ ์˜ต์…˜์„ ์ฃผ์ง€์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์ฒ˜๋Ÿผ ์ถœ๋ ฅ๋๋‹ค

 

/proc/[pid]/cwd

ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งํฌ๋กœ ๊ฑธ์–ด๋‘” ๊ฑฐ๋‹ค

์•„๋ž˜์ฒ˜๋Ÿผ ๋˜‘๊ฐ™์ด ์ƒ๊ฒผ๋‹ค

 

์™ผ์ชฝ์ด /proc/[pid]/cwd์ด๊ณ  ์˜ค๋ฅธ์ชฝ์ด ./mthread๊ฐ€ ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์ด๋‹ค. ๋‘˜์ด ๊ทธ๋ƒฅ ๋˜‘๊ฐ™๋‹ค

 

/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, ์ธํ„ฐ๋ŸฝํŠธ, ์ปจํ…์ŠคํŠธ ์Šค์œ„์น˜ ๋“ฑ ์ผ๋ฐ˜์ ์ธ ์‹œ์Šคํ…œ ํ†ต๊ณ„ ์ •๋ณด

 

 

References

https://wikidocs.net/196798

https://mikrkosmos97.tistory.com/107