linux man page : signal - ½Ã±×³ÎÀ» ó¸®ÇÑ´Ù.
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=signal">signal</a>(2)

1장. signal(2)

차례
1.1절. »ç¿ë¹ý
1.2절. ¼³¸í
1.3절. ¹Ýȯ°ª
1.4절. ¿¹Á¦

½Ã±×³ÎÀ» ó¸®ÇÑ´Ù. - ANSI C


1.1절. »ç¿ë¹ý

#include <signal.h>

void (*signal(int signum, void  (*handler) (int))) (int);
		


1.2절. ¼³¸í

¼º°øÇÒ°æ¿ì 0À» ½ÇÆÐÇßÀ»°æ¿ì¿¡´Â -1À» ¹ÝȯÇϸç, Àû´çÇÑ errno °ªÀ» ¼³Á¤ÇÑ´Ù.

SIG_IGN

½Ã±×³ÎÀ» ¹«½ÃÇÑ´Ù.

±×·¯³ª SIGKILL, SIGSTOP ´Â ¹«½ÃÇÒ¼ö ¾ø´Ù.

SIG_DFL

½Ã±×³ÎÀÇ ±âº»µ¿ÀÛÀ» Çϵµ·Ï ÇÑ´Ù.

½Ã±×³Î Çڵ鷯 ÇÔ¼ö¿¡ ³Ñ°ÜÁö´Â Á¤¼ö ÀÎÀÚ´Â ½Ã±×³ÎÀÇ ¹øÈ£ÀÌ´Ù. ½Ã±×³Î ¹øÈ£¸¦ ³Ñ°ÜÁÜÀ¸·Î ÀÎÇØ¼­ ¿©·¯°³ÀÇ ½Ã±×³Î¿¡ ´ëÇØ¼­ ÇϳªÀÇ ½Ã±×³Î Çڵ鷯¸¦ »ç¿ëÇÒ¼ö ÀÖµµ·Ï ÇÑ´Ù.

SIGKILL, SIGSTOP ½Ã±×³Î¿¡ ´ëÇØ¼­´Â Çڵ鷯¸¦ ÁöÁ¤ÇÒ¼ö ¾ø´Ù. ÀÌµé ½Ã±×³ÎÀº ¹«½ÃÇÒ¼öµµ ¾ø°í Çڵ鷯¸¦ ÁöÁ¤ÇÒ¼öµµ ¾øÀÌ ´ÜÁö ±âº»µ¿ÀÛÀ¸·Î¸¸ ÀÛµ¿ÇÑ´Ù.


1.3절. ¹Ýȯ°ª

signal Àº ÀÌÀüÀÇ ½Ã±×³Î Çڵ鷯ÀÇ Æ÷ÀÎÅ͸¦ ¹ÝȯÇϸç, ¿¡·¯½Ã SIG_ERR À» ¸®ÅÏÇÑ´Ù.


1.4절. ¿¹Á¦

#include <signal.h>

#include <unistd.h>

void sig_handler(int signo); // ºñÇÁÀ½ ¹ß»ý ÇÔ¼ö

int main()
{
    int i = 0;
    signal(SIGINT, (void *)sig_handler);

    while(1)
    {
        printf("%d\n", i);
        i++;
        sleep(1);
    }
    return 1;
}


void sig_handler(int signo)
{
    printf("SIGINT ¹ß»ý\n");
}
		
SIGINT ¸¦ ¹ß»ý½ÃŰ´Â °¡Àå°£´ÜÇÑ ¹æ¹ýÀº Űº¸µåÀÇ Ctrl+C ¸¦ ÀÔ·ÂÇÏ´Â ¹æ¹ýÀÌ´Ù. À§ ÇÁ·Î±×·¥À» ½ÇÇà½ÃŲÈÄ Ctrl+C ¸¦ ½ÇÇà½Ã۸é SIGINT ½Ã±×³ÎÀÌ Àü´ÞµÇ°í ¾îÇø®ÄÉÀ̼ÇÀº ÇØ´ç ½Ã±×³Î Çڵ鷯ÀÎ sig_handler() ÇÔ¼ö¸¦ ½ÇÇà½ÃŰ´Â°É º¼¼ö ÀÖÀ»°ÍÀÌ´Ù.


°ü·Ã±Û

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.