[Linux] ์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ ๋ฐ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์˜ ํ•„์ˆ˜ ๋„๊ตฌ(lsof)

Posted by Euisuk's Dev Log on January 17, 2024

[Linux] ์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ ๋ฐ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์˜ ํ•„์ˆ˜ ๋„๊ตฌ(lsof)

์›๋ณธ ๊ฒŒ์‹œ๊ธ€: https://velog.io/@euisuk-chung/uqqb19in

Linux lsof ๋ช…๋ น์–ด

๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•˜๋ ค๊ณ  ํ•  ๋•Œ โ€œ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋น„์–ด ์žˆ์ง€ ์•Š๋‹คโ€œ๋Š” ์˜ค๋ฅ˜๋ฅผ ๋งˆ์ฃผ์นœ ๊ฒฝํ—˜์ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ์ด๋Š” ๋Œ€๊ฐœ ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ํŒŒ์ผ๋“ค์ด ์—ฌ์ „ํžˆ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • ์ด ๊ธ€์—์„œ๋Š” lsof ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

lsof๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ ๋ฐ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์˜ ํ•„์ˆ˜ ๋„๊ตฌ

lsof๋Š” โ€œList Open Filesโ€์˜ ์•ฝ์ž๋กœ, ํ˜„์žฌ ์‹œ์Šคํ…œ์—์„œ ์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ๋“ค์˜ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฐ•๋ ฅํ•œ ์œ ๋‹‰์Šค ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž์™€ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๋ชจ๋‘์—๊ฒŒ ํ•„์ˆ˜์ ์ธ ์ด ๋ช…๋ น์–ด๋Š” ํŒŒ์ผ์„ ์—ด๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ PID(ํ”„๋กœ์„ธ์Šค ์‹๋ณ„ ๋ฒˆํ˜ธ), ์‚ฌ์šฉ์ž, ํŒŒ์ผ ์ด๋ฆ„, ๋„คํŠธ์›Œํฌ ์†Œ์ผ“ ์ •๋ณด ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

lsof ์„ค์น˜ ๋ฐฉ๋ฒ•

๋Œ€๋ถ€๋ถ„์˜ ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์—๋Š” lsof๊ฐ€ ๋ฏธ๋ฆฌ ์„ค์น˜๋˜์–ด ์žˆ์ง€๋งŒ, ์„ค์น˜๊ฐ€ ํ•„์š”ํ•  ๊ฒฝ์šฐ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Debian, Ubuntu ๋ฐ ๊ธฐํƒ€ ์œ ์‚ฌํ•œ ์‹œ์Šคํ…œ:

    1
    
    sudo apt install lsof
    
  • Red Hat, CentOS ๋ฐ ๊ธฐํƒ€ ์œ ์‚ฌํ•œ ์‹œ์Šคํ…œ:

    1
    
    sudo yum install lsof
    
  • Fedora ์‹œ์Šคํ…œ:

    1
    
    sudo dnf install lsof
    

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด, lsof ๋ช…๋ น์–ด๋ฅผ ์‹œ์Šคํ…œ์˜ ์–ด๋А ์œ„์น˜์—์„œ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


lsof๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

๋ฆฌ๋ˆ…์Šค ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์ด ์‚ญ์ œ๋˜๊ฑฐ๋‚˜ ์ด๋™๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋Š” ํ•ด๋‹น ํŒŒ์ผ์ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์‚ฌ์šฉ ์ค‘์ผ ๋•Œ ์ž์ฃผ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. lsof๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‰ฝ๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์˜ ํŠน์ • ๋ฆฌ์†Œ์Šค๊ฐ€ ์ ์œ ๋œ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ๊ณผ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


lsof์˜ ์ฃผ์š” ์‚ฌ์šฉ ์˜ˆ์ œ

1. ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ์ฐพ๊ธฐ

๋””๋ ‰ํ† ๋ฆฌ ๋‚ด๋ถ€์—์„œ ์—ด๋ ค ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์„ ์—ด๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋น„์–ด ์žˆ์ง€ ์•Š๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

1
lsof +D /path/to/directory

์˜ˆ์‹œ:

1
lsof +D /home/user/logs

์ด ๋ช…๋ น์–ด๋Š” /home/user/logs ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ๋ชจ๋“  ์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ์„ ์ฐพ๊ณ , ์ด๋ฅผ ์‚ฌ์šฉ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค ๊ฐ•์ œ ์ข…๋ฃŒ

์ถœ๋ ฅ๋œ ๊ฒฐ๊ณผ์—์„œ ํ•ด๋‹น PID๋ฅผ ํ™•์ธํ•œ ํ›„, ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
kill -9 PID

โš ๏ธ ์ฃผ์˜: kill -9๋Š” ๊ฐ•์ œ ์ข…๋ฃŒ ์‹ ํ˜ธ์ด๋ฏ€๋กœ ๋ฐ์ดํ„ฐ ์†์‹ค์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ผ๋ฐ˜์ ์ธ ์ข…๋ฃŒ ์˜ต์…˜(kill PID)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.


2. ํŠน์ • ํŒŒ์ผ์„ ์—ด๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ฐพ๊ธฐ

ํŒŒ์ผ ๋‹จ์œ„๋กœ ์—ด๋ ค ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ๊ณ  ์‹ถ๋‹ค๋ฉด ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
lsof /path/to/file

์˜ˆ์‹œ:

1
lsof /var/log/syslog

์ด ๋ช…๋ น์–ด๋Š” /var/log/syslog ํŒŒ์ผ์„ ์—ด๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ‘œ์‹œํ•˜์—ฌ ๋กœ๊ทธ ํŒŒ์ผ์„ ์ ์œ ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


3. ํŠน์ • ํฌํŠธ๋ฅผ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ฐพ๊ธฐ

๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์—์„œ ํŠน์ • ํฌํŠธ๋ฅผ ์‚ฌ์šฉ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 80๋ฒˆ ํฌํŠธ๋ฅผ ์ ์œ  ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์œผ๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

1
lsof -i :80

์ด ๋ช…๋ น์–ด๋Š” ์›น ์„œ๋ฒ„ ๋“ฑ ๋„คํŠธ์›Œํฌ ํฌํŠธ ์‚ฌ์šฉ ์ƒํ™ฉ์„ ํ™•์ธํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.


4. ํŠน์ • ์‚ฌ์šฉ์ž์— ์˜ํ•ด ์—ด๋ฆฐ ํŒŒ์ผ ๋ชฉ๋ก ์กฐํšŒ

ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ ์—ด์–ด ๋†“์€ ํŒŒ์ผ์„ ํ™•์ธํ•˜๋ ค๋ฉด -u ์˜ต์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

1
lsof -u [์‚ฌ์šฉ์ž ์ด๋ฆ„]

์˜ˆ์‹œ:

1
lsof -u username

์ด ๋ช…๋ น์–ด๋Š” ํ•ด๋‹น ์‚ฌ์šฉ์ž๊ฐ€ ํ˜„์žฌ ์—ด์–ด ๋†“์€ ๋ชจ๋“  ํŒŒ์ผ๊ณผ ๊ด€๋ จ๋œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.


5. ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํ™•์ธ

๋„คํŠธ์›Œํฌ ๊ด€๋ จ ๋ฌธ์ œ ํ•ด๊ฒฐ ์‹œ ์‹œ์Šคํ…œ์˜ ์ „์ฒด ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด -i ์˜ต์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

1
lsof -i

์ด ๋ช…๋ น์–ด๋Š” TCP ๋ฐ UDP ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ํฌํ•จํ•ด ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์†Œ์ผ“ ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.


6. ํŠน์ • ํ”„๋กœ์„ธ์Šค ID(PID)์— ์˜ํ•ด ์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ ํ™•์ธ

ํŠน์ • PID๊ฐ€ ์—ด๊ณ  ์žˆ๋Š” ํŒŒ์ผ์„ ํ™•์ธํ•˜๋ ค๋ฉด -p ์˜ต์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉ ์ค‘์ธ ํŒŒ์ผ๋“ค์„ ๋น ๋ฅด๊ฒŒ ํ™•์ธํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

1
lsof -p [PID]

์˜ˆ์‹œ:

1
lsof -p 1234

7. lsof๋ฅผ ์‚ฌ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ํŒŒ์ผ ์‚ฌ์šฉ ์ถ”์ 

์‹œ์Šคํ…œ ์„ฑ๋Šฅ ์ €ํ•˜๋‚˜ ํŠน์ • ๋ฆฌ์†Œ์Šค์˜ ์‚ฌ์šฉ ํ˜„ํ™ฉ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถ”์ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด watch ๋ช…๋ น์–ด์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, /var/log ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ 2์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

1
watch -n 2 'lsof +D /var/log'

์ด ๋ช…๋ น์€ lsof ๋ช…๋ น์˜ ๊ฒฐ๊ณผ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์—ฌ, ๋กœ๊ทธ ๋””๋ ‰ํ† ๋ฆฌ์— ์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ ๋ชฉ๋ก์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.


lsof ์‚ฌ์šฉ ์‹œ ์œ ์˜ ์‚ฌํ•ญ

  • ๊ฐ•์ œ ์ข…๋ฃŒ ์ฃผ์˜: kill -9 ์˜ต์…˜์œผ๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•  ๋•Œ๋Š” ๋ฐ์ดํ„ฐ ์†์‹ค์ด๋‚˜ ์ž‘์—… ์ค‘๋‹จ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํ•ญ์ƒ ๋Œ€์ฒด ์ข…๋ฃŒ ์˜ต์…˜์„ ๋จผ์ € ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํŠน์ • ๊ถŒํ•œ ํ•„์š”: lsof๋Š” ๋ฃจํŠธ ๊ถŒํ•œ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ถฉ๋ถ„ํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ์—์„œ ์„ฑ๋Šฅ ๋ฌธ์ œ ๊ฐ€๋Šฅ: ๋Œ€๊ทœ๋ชจ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด๋‚˜ ๋งŽ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค๋ฃฐ ๋•Œ๋Š” lsof ๋ช…๋ น์ด ๋‹ค์†Œ ๋А๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ๊ฒฝ๋กœ๋‚˜ PID๋ฅผ ์ง€์ •ํ•˜์—ฌ ์‚ฌ์šฉ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

lsof๋Š” ์‹œ์Šคํ…œ์˜ ํŒŒ์ผ ๋ฐ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ ํ˜„ํ™ฉ์„ ์ง„๋‹จํ•˜๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•œ ๋„๊ตฌ๋กœ, ๋ฆฌ์†Œ์Šค ์ ์œ  ๋ฌธ์ œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์„ ํ†ตํ•ด lsof์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ณผ ๋‹ค์–‘ํ•œ ํ™œ์šฉ ์‚ฌ๋ก€๋ฅผ ์ดํ•ดํ•˜๊ณ , ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์™€ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•ด ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.



-->