signal(2) System Calls Manual signal(2) signal - ANSI C (libc -lc) #include typedef typeof(void (int)) *sighandler_t; sighandler_t signal(int signum, sighandler_t handler); : signal() UNIX Linux . : sigaction(2) . . signal() signum handler SIG_IGN SIG_DFL ( ). signum : * SIG_IGN . * SIG_DFL ( signal(7)). * SIG_DFL ( ) handler signum. . SIGKILL SIGSTOP . signal() . SIG_ERR errno . EINVAL signum . sighandler_t GNU _GNU_SOURCE glibc ( BSD) sig_t _BSD_SOURCE (glibc 2.19 ) _DEFAULT_SOURCE (glibc 2.19 ). signal() : typeof(void (int)) *signal(int signum, typeof(void (int)) *handler); signal() SIG_DFL SIG_IGN. signal() ( POSIX.1 ) . POSIX.1 sigaction(2) signal(). C11 POSIX.1-2024. C89, POSIX.1-2001. UNIX signal() SIG_DFL . sigaction(2) : sa.sa_flags = SA_RESETHAND | SA_NODEFER; System V signal(). . . BSD signal() . BSD . ( signal(7)). BSD sigaction(2) : sa.sa_flags = SA_RESTART; Linux : o signal() System V. o glibc 2 signal() . sigaction(2) BSD. : _BSD_SOURCE glibc 2.19 _DEFAULT_SOURCE glibc 2.19 . ( feature_test_macros(7) .) signal() System V. signal() . POSIX SIGFPE SIGILL SIGSEGV kill(2) raise(3). . SIGFPE. ( -1 SIGFPE). . sigaction(2) SIGCHLD SIG_IGN. signal-safety(7) . kill(1), alarm(2), kill(2), pause(2), sigaction(2), signalfd(2), sigpending(2), sigprocmask(2), sigsuspend(2), bsd_signal(3), killpg(3), raise(3), siginterrupt(3), sigqueue(3), sigsetops(3), sigvec(3), sysv_signal(3), signal(7) 3 . . : . 6.18 8 2026 signal(2)