42SEOUL

    [42 Seoul] Minitalk : signal ํ•จ์ˆ˜๋กœ IPC(Inter-Process Communication) ๊ตฌํ˜„

    1. signal ์ด๋ž€ ์‹œ๊ทธ๋„(signal)์€ software interrupt ๋กœ ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ๋น„๋™๊ธฐ์  ์ด๋ฒคํŠธ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ , ์ „์†กํ•  ์ˆ˜ ์žˆ๋„๋ก ์šด์˜์ฒด์ œ์—์„œ ์ œ๊ณต๋˜๋Š” IPC ์ค‘ ํ•˜๋‚˜์ด๋‹ค. signal์„ ํ”„๋กœ์„ธ์Šค์— ๋ณด๋‚ด๋ฉด ๊ฐ signal์— ์ง€์ •๋œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. 2. signal ํ•จ์ˆ˜ signal signal ํ•จ์ˆ˜๋Š” ์— ์ •์˜๋˜์–ด ์žˆ์œผ๋ฉฐ ์‹œ๊ทธ๋„์„ ๋ฐ›์•„ ์ง€์ •๋œ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. signal(SIGINT, (void *)sig_handler); ์•„๋ž˜๋Š” signal์˜ ์ข…๋ฅ˜์ด๋‹ค. SIGHUP ํ„ฐ๋ฏธ๋„ ์—ฐ๊ฒฐ์ด ๋Š์–ด์กŒ์„ ๋•Œ ์ด ํ„ฐ๋ฏธ๋„๊ณผ ์—ฐ๊ฒฐ๋œ ์„ธ์…˜ ๋ฆฌ๋” ๋˜๋Š” ์„ธ์…˜์— ์†ํ•œ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋“ค์—๊ฒŒ ๋ณด๋‚ด์ง€๋Š”๋ฐ ์ด ์‹œ๊ทธ๋„์„ ๋ฐ›์œผ๋ฉด ์ข…๋ฃŒ SIGINT ํ„ฐ๋ฏธ๋„์—์„œ ์ธํ„ฐ๋ŸฝํŠธ ํ‚ค๋ฅผ ๋ˆŒ๋ €์„ ๋•Œ ๋ณด๋‚ด์ง€๋Š”๋ฐ ์ด ์‹œ๊ทธ๋„ ๋ฐ›์œผ๋ฉด ์ข…๋ฃŒ..