Linux
[Linux] ๋ฆฌ๋ ์ค๋ง์คํฐ 2๊ธ 2์ฐจ ์ ๋ฆฌ (8)
The Engineer, Lucy
2025. 6. 11. 23:37
ํ๋ก์ธ์ค ์ ํ
ํฌ์ด๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค์ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค
ํฌ์ด๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค | ์ฌ์ฉ์์ ์ํธ์์ฉํ๋ ํ๋ก์ธ์ค ํฐ๋ฏธ๋์ ์ง์ ์ฐ๊ฒฐ๋์ด ์ ์ถ๋ ฅ์ ์ฃผ๊ณ ๋ฐ๋ ํ๋ก์ธ์ค ๋ช ๋ น ์ ๋ ฅ ํ ์ํ ์ข ๋ฃ๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ ํ๋ก์ธ์ค ํ๋ฉด์์ ์คํ๋๋ ๊ฒ์ด ๋ณด์ด๋ ํ๋ก์ธ์ค ex) ์์ฉ ํ๋ก๊ทธ๋จ, ๋ช ๋ น์ด ๋ฑ |
๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค | ์ฌ์ฉ์์ ์ง์ ์ ์ธ ๋ํ๋ฅผ ํ์ง ์๊ณ ๋ค์์ ์คํ๋๋ ํ๋ก์ธ์ค ์ฌ์ฉ์์ ์ ๋ ฅ์ ๊ด๊ณ์์ด ์คํ๋๋ ํ๋ก์ธ์ค ์คํ์ ๋์ง๋ง ํ๋ฉด์ ๋ํ๋์ง ์๊ณ ์คํ๋๋ ํ๋ก์ธ |
fork()
- ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ๋ง๋ค ๋ ๊ธฐ์กด ํ๋ก์ธ์ค๋ฅผ ๋ณต์ ํ๋ ๋ฐฉ์.
- ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น.
- ์๋ก ์์ฑ๋ ํ๋ก์ธ์ค๋ ์๋์ ํ๋ก์ธ์ค์ ๋๊ฐ์ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์์.
- ์๋ณธ ํ๋ก์ธ์ค๋ฅผ ๋ถ๋ชจ ํ๋ก์ธ์ค๋ผ๊ณ ๋ถ๋ฅด๊ณ ์๋ก ๋ณต์ ๋ ํ๋ก์ธ์ค๋ฅผ ์์ ํ๋ก์ธ์ค.
exec()
- ํธ์ถํ๋ ํ๋ก์ธ์ค๊ฐ ์๋ก์ด ํ๋ก์ธ์ค๋ก ๋ณ๊ฒฝ๋๋ ๋ฐฉ์.
- ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ์ง ์์.
- ํธ์ถํ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ก์ด ํ๋ก์ธ์ค์ ์ฝ๋๋ฅผ ๋ฎ์ด์์ ๋ฒ๋ฆผ.
- exec()๋ฅผ ํธ์ถํ ํ๋ก์ธ์ค๊ฐ ์๋ exec()์ ์ํด ํธ์ถ๋ ํ๋ก์ธ์ค๋ง ๋ฉ๋ชจ๋ฆฌ์ ๋จ๊ฒ ๋จ.
๋ฐ๋ชฌ
- ๋ฆฌ๋ ์ค ์์คํ ์ด ๋ถํ ์ ์๋์ผ๋ก ์คํ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค.
- ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ฉด์ ์ฌ์ฉ์์ ํน์ ์์ฒญ์ด ์ค๋ฉด ์ฆ์ ์คํ๋๋ ๋๊ธฐ ์ค์ธ ์๋ฒ ํ๋ก์ธ์ค.
- ์ฃผ๊ธฐ์ ์ด๊ณ ์ง์์ ์ธ ์๋น์ค ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์คํ๋จ.
- ์ฌ์ฉ์๋ค์ ์ด ํ๋ก์ธ์ค๋ฅผ ๋ณผ ์ ์๋ ๊ถํโ.
- ๋ฆฌ๋
์ค์์ ๋ฐ๋ชฌ์ ์คํํ๋ ๋ฐฉ๋ฒ
standalone ์๋น์ค๊ฐ ์์ฒญ์ด ๋ค์ด์ค๊ธฐ ์ ์ ์๋น์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ ๋จ๋ ์คํ ๋ฐฉ์
๋ ๋ฆฝ์ ์ผ๋ก ์ํ๋๋ฉฐ ์๋น์ค ์์ฒญ์ ์๋ตํ๊ธฐ ์ํด ํญ์ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผ
๋น ๋ฅธ ์๋ต์๋๋ฅผ ์ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ
๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ์ ์ ๋ก ์ธํ ์๋ฒ ๋ถํ๊ฐ ํผinetd ๋ฐ๋ชฌ
(์ํผ ๋ฐ๋ชฌ)inetd๋ ๋ค๋ฅธ ๋ฐ๋ชฌ๋ค์ ์์์ ์กด์ฌํ๋ standalone ๋ฐ๋ชฌ
inetd๋ ์์ฒด์ ์ผ๋ก๋ ํ๋์ ๋ ๋ฆฝ ๋ฐ๋ชฌ์ด์ง๋ง ์ฌ๋ฌ ๊ฐ์ง ๋ค๋ฅธ ์๋น์ค๋ค์ ์ ์ดํ๊ณ ๊ด๋ฆฌ
๋ณด์์์ ์ด์ ๋ก ๋ฆฌ๋ ์ค ์ปค๋ 2.4 ๋ฒ์ ๋ถํฐ xinetd(extended inetd)๊ฐ inetd ์ญํ ์ ์ํinted ํ์ ๋ฐ๋ชฌ ineted ํ์ ๋ฐ๋ชฌ๋ค์ ์ง์ ์๋น์ค๋ฅผ ๊ฐ๋ํ์ง ๋ชปํ๊ณ inetd ๋ฐ๋ชฌ์ด ํ์ฑํ๊ฐ ๋์ด์ผ๋ง ํด๋น ์๋น์ค ์ ๊ณต
Telnet, FTP, rlogin๊ณผ ๊ฐ์ ๋ฐ๋ชฌ๋ค์ด inetd ํ์ ๋ฐ๋ชฌ์ ํด๋น
inetd ์๋น์ค ์์ฒญ์ด ์ข ๋ฃ๋๋ฉด inetd ํ์ ๋ฐ๋ชฌ๋ค๋ ์๋์ผ๋ก ์ข ๋ฃ
์๊ทธ๋
- ์๊ทธ๋์ ํ๋ก์ธ์ค์๊ฒ ์ด๋ฒคํธ ๋ฐ์์ ์ ๋ฌํด์ฃผ๋ ์ํํธ์จ์ด ์ธํฐ๋ฝํธ.
- ์๊ทธ๋์ด ํ๋ก์ธ์ค์๊ฒ ์ ๋ฌ๋ ๋ 4๊ฐ์ง ์ํฉ์ด ๋ฐ์.
SIG_IGN (SIG_PF)1 ์ด์์ฒด์ ์ ์ํด ์๊ทธ๋์ด ๋ฌด์๋จ. SIG_ERR (SIG_PF)-1 ์ด์์ฒด์ ๋ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ๋ก ์ข ๋ฃํจ. SIG_EFL (SIG_PF)0 ์ง์ ํ ์๊ทธ๋ ์ฒ๋ฆฌ ๋ฃจํด์ ์คํํจ. SIG_HOLD (SIG_PF)2 ์๊ทธ๋์ด ๋ธ๋กํน๋จ. - ์ง์ ๋ ์ด๋ฒคํธ์ ์๊ทธ๋์ด ํ๋ก์ธ์ค์ ์ ๋ฌ๋ ๋ ๊ธฐ๋ณธ ๋์
๋ฒํธ ์๊ทธ๋ ๋ฐ์ ์กฐ๊ฑด ๊ธฐ๋ณธ ๋์ 1 SIGHUP ํฐ๋ฏธ๋๊ณผ ์ฐ๊ฒฐ์ด ๋์ด์ก์ ๋ ์ข ๋ฃ ํ ์ฌ์์ 2 SIGINT Ctrl+C ์ ๋ ฅ ์ ์ข ๋ฃ 3 SIGQUIT Ctrl+\ ์ ๋ ฅ ์ ์ฝ์ด๋คํ 6 SIGABRT abort(๋น์ ์ ์ข ๋ฃ) ํจ์์ ์ํด ๋ฐ์ ์ฝ์ด๋คํ 9 SIGKILL ํ๋ก์ธ์ค ๊ฐ์ ์ข ๋ฃ ์ ์ข ๋ฃ 15 SIGTERM Kill ์์คํ ํธ์ถ ์ ์ข ๋ฃ 19 SIGSTOP SIGCOUNT ์๊ทธ๋์ ๋ฐ์ ๋๊น์ง ์ข ๋ฃ 20 SIGTSTP Ctrl+z ์ ๋ ฅ ์ ํ๋ก์ธ์ค ๋๊ธฐ๋ก ์ ํ