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);
   }
}

์ฐธ๊ณ ์‚ฌ์ดํŠธ

โš ๏ธ **GitHub.com Fallback** โš ๏ธ