signal(2) System Calls Manual signal(2) signal - ANSI C LIBRARY Standard C library (libc, -lc) #include typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); WARNING: the behavior of signal() varies across UNIX versions, and has also varied historically across different versions of Linux. Avoid its use: use sigaction(2) instead. See Portability below. signal() signum handler, SIG_IGN, SIG_DFL (" "). signum , : * SIG_IGN, . * SIG_DFL, , (. signal(7)). * , SIG_DFL (. ), handler signum. , . SIGKILL SIGSTOP . signal() returns the previous value of the signal handler. On failure, it returns SIG_ERR, and errno is set to indicate the error. EINVAL signum. sighandler_t GNU, , _GNU_SOURCE; glibc sig_t, _BSD_SOURCE (glibc 2.19 ) _DEFAULT_SOURCE (glibc 2.19 ). signal() : void ( *signal(int signum, void (*handler)(int)) ) (int); signal() , SIG_DFL SIG_IGN. signal() ( POSIX.1 ); . POSIX.1 sigaction(2), ; signal(). C11, POSIX.1-2008. C89, POSIX.1-2001. UNIX, , signal(), , SIG_DFL, . 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.) . , SIGCHLD SIG_IGN, sigaction(2). , , 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) Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov ; GNU 3 , . . , , . Linux man-pages 6.06 31 2023 . signal(2)