void (*signal(int signum, void (*handler)(int)))(int);
½Ã±×³Î Çڵ巯 ·çƾ¿¡ ³Ñ°ÜÁö´Â Á¤¼ö ÀÎÀÚ´Â ½Ã±×³Î ¹øÈ£ÀÌ´Ù. ÀÌ´Â ¿©·¯ ½Ã±×³Î¿¡ ´ëÇØ ÇϳªÀÇ ½Ã±×³Î Çڵ鷯¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
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 ¼ÒÇÁÆ®¿þ¾î´Â ¸®´ª½º¿¡¼´Â ½ÇÆÐÇÑ´Ù.