[์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ] pipe์— ๊ด€ํ•˜์—ฌ
ยท
Study/์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ
pipe()๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ํŒŒ์ดํ”„๋ฅผ ๋งŒ๋“ค๊ณ  ๋‘ ๊ฐœ์˜ file descriptor table์„ ์ƒ์„ฑํ•œ๋‹ค. โ†’ ์ฝ๊ธฐ์šฉ descriptor table(fd[0])๊ณผ ์“ฐ๊ธฐ์šฉ descriptor table(fd[1]) ์ƒ์„ฑ ๋ถ€๋ชจ์™€ ์ž์‹์ด pipe๋กœ ์†Œํ†ต์„ ํ•œ๋‹ค. ๋ถ€๋ชจ๊ฐ€ pipe ํ˜ธ์ถœ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ ํ…Œ์ด๋ธ” 2๊ฐœ ์ƒ์„ฑ ์ปค๋„ ์•ˆ์— ํŒŒ์ดํ”„ ๊ฐ์ฒด ์ƒ์„ฑ fd[1]์„ ๊ฐ€์ง€๊ณ  ์ž‘์„ฑ, fd[0]์œผ๋กœ ์ฝ์Œ fork๋ฅผ ํ•ด์„œ ์ž์‹ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ •๋ณด๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค.โ†’ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ ๋‚ด์šฉ ๋˜ํ•œ ๋ณต์‚ฌ๋จ ๊ฐ™์€ ํŒŒ์ดํ”„์— ์“ฐ๊ณ  ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค. readํ•œ ๋ฐ์ดํ„ฐ๋Š” ํŒŒ์ดํ”„์— ์ €์žฅ๋˜์ง€ ์•Š๊ณ , ์—†์–ด์ง„๋‹ค. ํŒŒ์ดํ”„ ์•ˆ์— readํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”๋ฐ readํ•œ ๊ฒฝ์šฐ โ†’ ๊ทธ๋ƒฅ read๊ฐ€ ๋จ ํŒŒ์ดํ”„ ์•ˆ์ด ๋น„์–ด์žˆ๋Š”๋ฐ readํ•œ ๊ฒฝ์šฐ ์ง€๊ธˆ์€ ..