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

PID2

ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ์šด์˜์ฒด์ œ์—์„œ ํ”„๋กœ์„ธ์Šค๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋“ค์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ด๋“ค ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์กฐ์œจํ•˜๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์ข…์ข… ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค(Parent Process): ์šด์˜์ฒด์ œ์—์„œ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ์ƒˆ๋กœ์šด ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ž์›์„ ํ• ๋‹นํ•˜๋ฉฐ, ์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ ๋™์ž‘์„ ๊ฐ์‹œํ•  ์ฑ…์ž„์ด ์žˆ์Šต๋‹ˆ๋‹ค. 2. ์ž์‹ ํ”„๋กœ์„ธ์Šค(Child Process): ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์ƒ์„ฑ๋œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ ์ž์›๊ณผ ๊ถŒํ•œ์„ ์ƒ์†.. 2023. 10. 31.
[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.