๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Daemon2

๋ฐ๋ชฌ(Deamon) ํ”„๋กœ์„ธ์Šค๋ž€? ๋ฐ๋ชฌ(Deamon)์ด๋ž€? ์ปดํ“จํ„ฐ๊ฐ€ ๋ถ€ํŒ…๋˜๋Š” ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์ˆ˜๋งŽ์€ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ps ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์œˆ๋„์šฐ๋Š” ์ž‘์—…๊ด€๋ฆฌ์ž). ์‹ค์ œ๋กœ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋“ค์„ ํ™•์ธํ•ด๋ณด๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์‹คํ–‰ํ•œ ํ”„๋กœ์„ธ์Šค ์™ธ์—๋„ ์•Œ ์ˆ˜ ์—†๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ํฌ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค(Foreground Process), ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด์ง€ ๋ชปํ•˜๋Š” ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค(Background Process)๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค ์ค‘์—์„œ๋„ ์‚ฌ์šฉ์ž์™€ ์ง์ ‘ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋„ ์žˆ์ง€๋งŒ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜์ง€ ์•Š๊ณ  ๊ทธ์ € ์ •ํ•ด์ง„ ์ผ๋งŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐ๋ชฌ(deam.. 2023. 10. 28.
[Linux] deamon๊ณผ fork ์ด์•ผ๊ธฐ โœ… PID์™€ PPID ๋ฆฌ๋ˆ…์Šค์—์„œ ps๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค. ps -al๋กœ ์ž์„ธํ•œ ๋ชฉ๋ก์„ ๋ณด๋ฉด pid์™€ ppid๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, pid๋Š” process id, ppid๋Š” parent process id๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ps ๋ช…๋ น์–ด ๋˜ํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์ด๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์–ธ์ œ ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ์‹œํ‚ฌ ์ง€ ์•Œ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๋Œ๋ฉด์„œ ๋Œ€๊ธฐํ•˜๋„๋ก ๋งŒ๋“ค์–ด์ ธ์žˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค๊ฐ€ ๋ถ€ํŠธ๋˜๋ฉด ๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด init์ธ๋ฐ, ๋ฆฌ๋ˆ…์Šค์˜ ๋ชจ๋“  ๋ช…๋ น์–ด๋ฅผ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•˜๋„๋ก ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ์œ ๋‹‰์Šค์˜ ๋ชจ๋“  ๋ช…๋ ์–ด ํ”„๋กœ๊ทธ๋žจ์€ init ํ”„๋กœ๊ทธ๋žจ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค. init์ด PID๊ฐ€ 1์ž„์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. pid๊ฐ€ ๋น ๋ฅผ ์ˆ˜๋ก ๋จผ์ € ์‹คํ–‰๋œ ํ”„๋กœ์„ธ์Šค์ด๋ฏ€๋กœ ๋ฆฌ๋ˆ…์Šค๊ฐ€ ์‹œ์ž‘๋˜.. 2023. 4. 13.