SIGNAL(7)

NAME
signal - signal facilities

DESCRIPTION
The <signal.h> header file defines the following signals:

Value | Name | Default Action | Description
1 | SIGHUP | terminate process | terminal line hangup
2 | SIGINT | terminate process | interrupt program
3 | SIGQUIT | create core image | quit program
4 | SIGILL | create core image | illegal instruction
5 | SIGTRAP | create core image | trace trap
6 | SIGABRT | create core image | abort(3)
call (formerly SIGIOT)
7 | SIGEMT | create core image | emulate instruction executed
8 | SIGFPE | create core image | floating-point exception
9 | SIGKILL | terminate process | kill program (cannot be caught or ignored)
10 | SIGBUS | create core image | bus error
11 | SIGSEGV | create core image | segmentation violation
12 | SIGSYS | create core image | invalid system call argument
13 | SIGPIPE | terminate process | write to a pipe with no reader
14 | SIGALRM | terminate process | real-time timer expired
15 | SIGTERM | terminate process | software termination signal
16 | SIGURG | discard signal | urgent condition present on socket
17 | SIGSTOP | stop process | stop (cannot be caught or ignored)
18 | SIGTSTP | stop process | stop signal generated from keyboard
19 | SIGCONT | discard signal | continue after stop (even if blocked or ignored)
20 | SIGCHLD | discard signal | child status has changed
21 | SIGTTIN | stop process | background read attempted from control terminal
22 | SIGTTOU | stop process | background write attempted to control terminal
23 | SIGIO | discard signal | I/O is possible on a descriptor (see
fcntl(2))
24 | SIGXCPU | terminate process | CPU time limit exceeded (see
setrlimit(2))
25 | SIGXFSZ | terminate process | file size limit exceeded (see
setrlimit(2))
26 | SIGVTALRM | terminate process | virtual time alarm (see
setitimer(2))
27 | SIGPROF | terminate process | profiling timer alarm (see
setitimer(2))
28 | SIGWINCH | discard signal | window size change
29 | SIGINFO | discard signal | status request from keyboard
30 | SIGUSR1 | terminate process | user-defined signal 1
31 | SIGUSR2 | terminate process | user-defined signal 2
32 | SIGPWR | discard signal | power failure/restart

A function that is async-signal-safe is either reentrant or non-interruptible by signals. This means that they can be used in signal handlers and in the child of threaded programs after doing fork(2).

The following functions are async-signal-safe. Any function not listed below is unsafe to use in signal handlers.

_Exit(2), _exit(2), abort(3), accept(2), access(2), alarm(3), bind(2), cfgetispeed(3), cfgetospeed(3), cfsetispeed(3), cfsetospeed(3), chdir(2), chmod(2), chown(2), clock_gettime(2), close(2), connect(2), creat(3), dup(2), dup2(2), execle(3), execve(2), fchmod(2), fchown(2), fcntl(2), fdatasync(2), fork(2), fpathconf(2), fstat(2), fsync(2), ftruncate(2), getegid(2), geteuid(2), getgid(2), getgroups(2), getpeername(2), getpgrp(2), getpid(2), getppid(2), getsockname(2), getsockopt(2), getuid(2), kill(2), link(2), listen(2), lseek(2), lstat(2), mkdir(2), mkfifo(2), open(2), pathconf(2), pause(3), pipe(2), poll(2), raise(3), read(2), readlink(2), recv(2), recvfrom(2), recvmsg(2), rename(2), rmdir(2), select(2), sem_post(3), send(2), sendmsg(2), sendto(2), setgid(2), setpgid(2), setsid(2), setsockopt(2), setuid(2), shutdown(2), sigaction(2), sigaddset(3), sigdelset(3), sigemptyset(3), sigfillset(3), sigismember(3), sleep(3), signal(3), sigpause(3), sigpending(2), sigprocmask(2), sigset(3), sigsuspend(2), sockatmark(3), socket(2), socketpair(2), stat(2), symlink(2), sysconf(3), tcdrain(3), tcflow(3), tcflush(3), tcgetattr(3), tcgetpgrp(3), tcsendbreak(3), tcsetattr(3), tcsetpgrp(3), time(3), timer_getoverrun(2), timer_gettime(2), timer_settime(2), times(3), umask(2), uname(3), unlink(2), utime(3), wait(2), waitpid(2), write(2).

SEE ALSO
kill(1), kill(2), ptrace(2), sigaction(2), sigaltstack(2), sigprocmask(2), sigstack(2), sigsuspend(2), fpgetmask(3), fpsetmask(3), setjmp(3), sigblock(3), siginterrupt(3), signal(3), sigpause(3), sigsetmask(3), sigsetops(3), tty(4)

STANDARDS
These signals conform to p1003.1-90, with the exception of SIGTRAP, SIGEMT, SIGBUS, SIGSYS, SIGURG, SIGIO, SIGXCPU, SIGXFSZ, SIGVTALRM, SIGPROF, SIGWINCH, and SIGINFO which are Berkeley extensions (available on most BSD-derived systems), and SIGPWR which comes from System V.

HISTORY
SIGPWR was introduced in NetBSD 1.4.

NOTES
The current NetBSD kernel never generates the SIGPWR signal.