cpp_ctrl_c - 8BitsCoding/RobotMentor GitHub Wiki
์๋ ์์ ์์๋ while() ๋ฌธ์ ์ด์ฉํ์ฌ ๊ณ์ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ฉด์ Ctrl-C ๋ก SIGINT๊ฐ ๋ฐ์ํ๋ฉด ๋ฐ๋ก ์ข ๋ฃํ๋ ๊ฒ์ด ์๋๋ผ ํ๋ก๊ทธ๋จ์์ ์์ฑ๋ ํจ์๋ฅผ ์คํํ ํ์ ๋ค์ Ctrl-C ํค๊ฐ ๋๋ฆฌ๋ฉด ๊ธฐ์กด์ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๋ ๊ฒ์ ๋ณด์ฌ ์ค๋๋ค.
#include <stdio.h>
#include <signal.h>
void (*old_fun)( int);
void sigint_handler( int signo)
{
printf( "Ctrl-C ํค๋ฅผ ๋๋ฃจ์
จ์ฃ !!\n");
printf( "๋ ๋๋ฅด์๋ฉด ์ข
๋ฃ๋ฉ๋๋ค.\n");
signal( SIGINT, old_fun); // ๋๋ signal( SIGINT, SIG_DFL);
}
int main( void)
{
old_fun = signal( SIGINT, sigint_handler);
while(1 )
{
printf( "forum.falinux.com\n");
sleep( 1);
}
}