signal

SIGNAL(2)                  리ëì¤ íë¡ê·¸ë머 매ë´ì¼                 SIGNAL(2)



ì´ë¦
       signal - ANSI C ìê·¸ë ì²ë¦¬

ì¬ì©ë²
       #include <signal.h>

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

ì¤ëª
       signal ìì¤í ì½ì signum ë²í¸ì ìê·¸ëì ëí´ ìë¡ì´ ìê·¸ë í¸ë¤ë¬ë¥¼ ì¤ì¹íë¤.
       ìê·¸ë í¸ë¤ë¬ë handlerë¡ ì¤ì ëê³ , ì¬ì©ì ì ì í¨ìì´ê±°ë ë¤ì ê²ì¤ì íëê° ë
       ì ìë¤:

              SIG_IGN
                     ìê·¸ëì 무ìíë¤.

              SIG_DFL
                     ìê·¸ëì ì´ê¸° 기본 ëìì íëë¡ íë¤.

       ìê·¸ë í¸ëë¬ ë£¨í´ì ë겨ì§ë ì ì ì¸ìë ìê·¸ë ë²í¸ì´ë¤. ì´ë ì¬ë¬ ìê·¸ëì ëí´
       íëì ìê·¸ë í¸ë¤ë¬ë¥¼ ì¬ì©í  ì ìê² íë¤.


ë°íê°
       signalì ì´ì ì ìê·¸ë í¸ë¤ë¬ì í¬ì¸í°ë, ìë¬ì SIG_ERR를 리í´íë¤.


주ì
       SIGKILLë SIGSTOPì ìê·¸ë í¸ë¤ë¬ë¥¼ ì§ì í  ì ìë¤.

       BSD ìì¤íê³¼ ë¬ë¦¬, 리ëì¤ì ìê·¸ëì ìê·¸ëì´ ë°ìíì ë ì´ê¸° 기본 ëìì¼ë¡
       ëë린ë¤.  ê·¸ë¬ë, <signal.h> ëì ì <bsd/signal.h>를 í¬í¨ìí¤ë©´ signal ì
       __bsd_signalë¡ ì¬ì ìëì´ ìê·¸ëì BSDììì ê°ì´ ëìíë¤.  signalì ë ê°ì§ ë²ì ì
       모ë sigaction(2)ìì ë§ë¤ì´ì§ ë¼ì´ë¸ë¬ë¦¬ 루í´ì´ë¤.

       ì´ ë§¨íì´ì§ì íë¡í íìì´ ì´í´ëì§ ìëë¤ë©´ ë¤ìê³¼ ê°ì´ ë¶ë¦¬íë ê²ì´ ëìì´
       ë ì§ë 모른ë¤:

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

       POSIXì ë°ë¥´ë©´ kill()ë raise() í¨ìë¡ ë°ììí¬ ì ìë SIGFPE, SIGILL ëë
       SIGSEGV ìê·¸ëì 무ìí í íë¡ì¸ì¤ì ëìì ì ì ìë¤.  0ì¼ë¡ ëë ì§ ì ìë ì ì ìë
       결과를 ë¸ë¤.  ì´ë¤ ìí¤íì³ììë SIGFPE ìê·¸ëì´ ë°ìíë¤. (-1ë¡ ìì ì ì를
       ëëë ê²ë SIGFPE를 ë°ììí¨ë¤.) ì´ ìê·¸ëì 무ìíë©´ 무í 루íì ë¹ ì§ ìë
       ìë¤.

       POSIX (B.3.3.1.3)ì ë°ë¥´ë©´ SIGCHLDì ëí ëìì SIG_IGNì¼ë¡ ì¤ì í´ìë ì ëë¤.
       ì¬ê¸°ì BSDì SYSVê° ë¤ë¥´ë¤. SIGCHLDì ëìì SIG_IGNì¼ë¡ ì¤ì íë BSD
       ìíí¸ì¨ì´ë 리ëì¤ììë ì¤í¨íë¤.


í¸í
       ANSI C


ê´ë ¨ í목
       kill(1), kill(2), killpg(2), pause(2), raise(3), sigaction(2),
       signal(7), sigsetops(3), sigvec(2), alarm(2)

ìì
       ìì¢ê·  <hermes44@secsm.org>, 2000ë 4ì 20ì¼



리ëì¤ 2.0                       1996ë 7ì 21ì¼                       SIGNAL(2)