2025-09-15 13:50:55
๋ฐ˜์‘ํ˜•

๐Ÿ–ฅ๏ธ ๋ฆฌ๋ˆ…์Šค ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ ์™„๋ฒฝ ์ •๋ฆฌ

"ํ”„๋กœ์„ธ์Šค"๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด์—์š”.
์„œ๋ฒ„ ๊ด€๋ฆฌ๋‚˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™•์ธํ•˜๊ณ , ๋ฉˆ์ถ”๊ณ , ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๋Š” ์ผ์ด ์•„์ฃผ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
์˜ค๋Š˜์€ ๋ฆฌ๋ˆ…์Šค์—์„œ ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดˆ๋ณด์ž๋„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •๋ฆฌํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ๐Ÿš€


๐Ÿ“Œ 1. ํ”„๋กœ์„ธ์Šค ๊ฐœ๋…

  • ํ”„๋กœ์„ธ์Šค(Process) = ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ
  • PID(Process ID): ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ณ ์œ  ๋ฒˆํ˜ธ
  • ๋ถ€๋ชจ/์ž์‹ ๊ด€๊ณ„: ๋ถ€๋ชจ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŒ๋“ค์–ด์ง

flowchart TD P[๐Ÿ‘ฉ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค] --> C1[๐Ÿง’ ์ž์‹ ํ”„๋กœ์„ธ์Šค 1] P --> C2[๐Ÿง’ ์ž์‹ ํ”„๋กœ์„ธ์Šค 2] C2 --> G[๐Ÿ‘ถ ์†์ž ํ”„๋กœ์„ธ์Šค]


๐Ÿ“Œ 2. ํ”„๋กœ์„ธ์Šค์˜ ์ข…๋ฅ˜

์ข…๋ฅ˜์„ค๋ช…์˜ˆ์‹œ

๐Ÿ› ๏ธ ๋ฐ๋ชฌ(daemon) ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์„œ๋น„์Šค ์ œ๊ณต sshd, cron
๐Ÿ‘ป ๊ณ ์•„ ํ”„๋กœ์„ธ์Šค ๋ถ€๋ชจ๊ฐ€ ์ข…๋ฃŒ → systemd๊ฐ€ ๊ด€๋ฆฌ  
โ˜ ๏ธ ์ข€๋น„ ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ๋์ง€๋งŒ ๋ถ€๋ชจ๊ฐ€ ํšŒ์ˆ˜ ์•ˆ ํ•จ ๋กœ ํ‘œ์‹œ

๐Ÿ“Œ 3. ์ž์ฃผ ์“ฐ๋Š” ํ”„๋กœ์„ธ์Šค ๋ช…๋ น์–ด

๋ช…๋ น์–ด์„ค๋ช…

ps ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ๋ชฉ๋ก ํ™•์ธ
top ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง
jobs ํ˜„์žฌ ์‰˜์—์„œ ์‹คํ–‰ ์ค‘/์ค‘์ง€๋œ ์ž‘์—… ๋ชฉ๋ก
fg / bg ์ž‘์—…์„ ํฌ๊ทธ๋ผ์šด๋“œ/๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ „ํ™˜
kill PID๋กœ ์ข…๋ฃŒ (-15 ์ •์ƒ, -9 ๊ฐ•์ œ)
pgrep ์ด๋ฆ„์œผ๋กœ PID ๊ฒ€์ƒ‰
pkill ์ด๋ฆ„์œผ๋กœ ์ง์ ‘ ์ข…๋ฃŒ

๐Ÿ“Œ 4. ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ ์‹ค์Šต ๐Ÿง‘‍๐Ÿ’ป

(1) ์ „์ฒด ํ”„๋กœ์„ธ์Šค ํ™•์ธ

ps -ef | head \# -e : ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค \# -f : ์ž์„ธํžˆ ํ‘œ์‹œ \# head : ์œ„์—์„œ 10์ค„๋งŒ ์ถœ๋ ฅ

ps aux | head \# a : ๋ชจ๋“  ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค \# u : CPU/๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ํ‘œ์‹œ \# x : ํ„ฐ๋ฏธ๋„ ์—†๋Š” ํ”„๋กœ์„ธ์Šค๋„ ํ‘œ์‹œ

(2) ํŠน์ • ํ”„๋กœ์„ธ์Šค ๊ฒ€์ƒ‰

ps -ef | grep bash \# bash ํ”„๋กœ์„ธ์Šค ๊ฒ€์ƒ‰ pgrep -l bash \# PID์™€ ํ•จ๊ป˜ ์ถœ๋ ฅ

(3) ํฌ๊ทธ๋ผ์šด๋“œ ↔ ๋ฐฑ๊ทธ๋ผ์šด๋“œ

sleep 100 \# ์‹คํ–‰ ์ค‘ Ctrl+Z → ์ค‘์ง€ bg %+ \# ์ค‘์ง€๋œ ์ž‘์—…์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰ jobs \# ์ž‘์—… ๋ชฉ๋ก ํ™•์ธ

(4) ํฌ๊ทธ๋ผ์šด๋“œ๋กœ ์ „ํ™˜

fg %1 \# 1๋ฒˆ ์ž‘์—…์„ ํฌ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰ \# Ctrl+C ๋กœ ์ข…๋ฃŒ

(5) ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… ๊ฐ•์ œ ์ข…๋ฃŒ

sleep 200 & \# ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰ jobs \# ์ž‘์—… ๋ฒˆํ˜ธ ํ™•์ธ kill %1 \# 1๋ฒˆ ์ž‘์—… ์ข…๋ฃŒ

(6) ์ด๋ฆ„์œผ๋กœ ์ข…๋ฃŒ

sleep 300 & \# ์‹คํ–‰ pgrep -l sleep \# PID ํ™•์ธ pkill -x sleep \# ์ด๋ฆ„์œผ๋กœ ๋ฐ”๋กœ ์ข…๋ฃŒ

(7) ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง

top \# q : ์ข…๋ฃŒ \# P : CPU ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ์ค€ ์ •๋ ฌ \# M : ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ์ค€ ์ •๋ ฌ \# k : ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ (PID ์ž…๋ ฅ)

flowchart LR PS[๐Ÿ“‹ ps -ef] -->|์Šค๋ƒ…์ƒท| User[๐Ÿ‘จ ์‚ฌ์šฉ์ž] TOP[๐Ÿ“Š top] -->|์‹ค์‹œ๊ฐ„| User JOBS[๐Ÿ“‚ jobs] -->|์ž‘์—… ๋ชฉ๋ก| FGFG[๐Ÿ”„ fg/bg ์ „ํ™˜] KILL[โ›” kill] -->|PID| ProcessX[โŒ ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ] PKILL[โšก pkill] -->|์ด๋ฆ„| ProcessX


๐Ÿ“Œ 5. ํ˜„์—…์—์„œ ์ž์ฃผ ์“ฐ๋Š” ๊ฒƒ๋“ค

  • ๐Ÿ” ps -ef | grep ... → ํŠน์ • ์„œ๋น„์Šค ์‹คํ–‰ ์—ฌ๋ถ€ ํ™•์ธ
  • ๐Ÿ“Š top → ์„œ๋ฒ„ CPU/๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ฒดํฌ
  • โ›” kill -9 PID → ๋จนํ†ต๋œ ํ”„๋กœ์„ธ์Šค ๊ฐ•์ œ ์ข…๋ฃŒ
  • โšก pkill -x name → ์ด๋ฆ„์œผ๋กœ ํ•œ ๋ฒˆ์— ์ข…๋ฃŒ
  • ๐Ÿ› ๏ธ ๋ฐ๋ชฌ ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ → systemctl status sshd ๋“ฑ์œผ๋กœ ์„œ๋น„์Šค ํ™•์ธ

โœ… ์ •๋ฆฌ

  • ํ”„๋กœ์„ธ์Šค = ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ (PID๋กœ ๊ด€๋ฆฌ)
  • ps, top, jobs, fg/bg, kill, pgrep/pkill ์€ ํ•„์ˆ˜ ๋ช…๋ น์–ด
  • ํ˜„์—…์—์„œ๋Š” ์ฃผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง(top), ๊ฒ€์ƒ‰(ps/grep), ๊ฐ•์ œ ์ข…๋ฃŒ(kill -9) ๊ฐ€ ํ•ต์‹ฌ

๐Ÿ‘‰ ์ด์ œ ps, top, kill ์ •๋„๋งŒ ์ž˜ ์จ๋„ ์„œ๋ฒ„์—์„œ ์‚ด์•„๋‚จ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๐Ÿ˜‰

 

๋ฐ˜์‘ํ˜•