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)