p l -column ".Sy Value" ".Dv SIGVTALARM" "terminate process" -compact t Sy "Value" Ta Sy "Name" Ta Sy "Default Action" Ta Sy "Description" t 1 Ta Dv SIGHUP Ta "terminate process" Ta "terminal line hangup" t 2 Ta Dv SIGINT Ta "terminate process" Ta "interrupt program" t 3 Ta Dv SIGQUIT Ta "create core image" Ta "quit program" t 4 Ta Dv SIGILL Ta "create core image" Ta "illegal instruction" t 5 Ta Dv SIGTRAP Ta "create core image" Ta "trace trap" t 6 Ta Dv SIGABRT Ta "create core image" Ta Xr abort 3 call (formerly .Dv SIGIOT ) t 7 Ta Dv SIGEMT Ta "create core image" Ta "emulate instruction executed" t 8 Ta Dv SIGFPE Ta "create core image" Ta "floating-point exception" t 9 Ta Dv SIGKILL Ta "terminate process" Ta "kill program (cannot be caught or ignored)" t 10 Ta Dv SIGBUS Ta "create core image" Ta "bus error" t 11 Ta Dv SIGSEGV Ta "create core image" Ta "segmentation violation" t 12 Ta Dv SIGSYS Ta "create core image" Ta "invalid system call argument" t 13 Ta Dv SIGPIPE Ta "terminate process" Ta "write to a pipe with no reader" t 14 Ta Dv SIGALRM Ta "terminate process" Ta "real-time timer expired" t 15 Ta Dv SIGTERM Ta "terminate process" Ta "software termination signal" t 16 Ta Dv SIGURG Ta "discard signal" Ta "urgent condition present on socket" t 17 Ta Dv SIGSTOP Ta "stop process" Ta "stop (cannot be caught or ignored)" t 18 Ta Dv SIGTSTP Ta "stop process" Ta "stop signal generated from keyboard" t 19 Ta Dv SIGCONT Ta "discard signal" Ta "continue after stop (even if blocked or ignored)" t 20 Ta Dv SIGCHLD Ta "discard signal" Ta "child status has changed" t 21 Ta Dv SIGTTIN Ta "stop process" Ta "background read attempted from control terminal" t 22 Ta Dv SIGTTOU Ta "stop process" Ta "background write attempted to control terminal" t 23 Ta Dv SIGIO Ta "discard signal" Ta "I/O is possible on a descriptor (see" .Xr fcntl 2 ) t 24 Ta Dv SIGXCPU Ta "terminate process" Ta "CPU time limit exceeded (see" .Xr setrlimit 2 ) t 25 Ta Dv SIGXFSZ Ta "terminate process" Ta "file size limit exceeded (see" .Xr setrlimit 2 ) t 26 Ta Dv SIGVTALRM Ta "terminate process" Ta "virtual time alarm (see" .Xr setitimer 2 ) t 27 Ta Dv SIGPROF Ta "terminate process" Ta "profiling timer alarm (see" .Xr setitimer 2 ) t 28 Ta Dv SIGWINCH Ta "discard signal" Ta "window size change" t 29 Ta Dv SIGINFO Ta "discard signal" Ta "status request from keyboard" t 30 Ta Dv SIGUSR1 Ta "terminate process" Ta "user-defined signal 1" t 31 Ta Dv SIGUSR2 Ta "terminate process" Ta "user-defined signal 2" t 32 Ta Dv SIGPWR Ta "discard signal" Ta "power failure/restart" .El
p 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 .Xr fork 2 .
p The following functions are async-signal-safe. Any function not listed below is unsafe to use in signal handlers.
p
.Xr _Exit 2 ,
.Xr _exit 2 ,
.Xr abort 3 ,
.Xr accept 2 ,
.Xr access 2 ,
.Xr aio_error
.Xr aio_return
.Xr aio_suspend
.Xr alarm 3 ,
.Xr bind 2 ,
.Xr cfgetispeed 3 ,
.Xr cfgetospeed 3 ,
.Xr cfsetispeed 3 ,
.Xr cfsetospeed 3 ,
.Xr chdir 2 ,
.Xr chmod 2 ,
.Xr chown 2 ,
.Xr clock_gettime 2 ,
.Xr close 2 ,
.Xr connect 2 ,
.Xr creat 3 ,
.Xr dup 2 ,
.Xr dup2 2 ,
.Xr execle 3 ,
.Xr execve 2 ,
.Xr fchmod 2 ,
.Xr fchown 2 ,
.Xr fcntl 2 ,
.Xr fdatasync 2 ,
.Xr fork 2 ,
.Xr fpathconf 2 ,
.Xr fstat 2 ,
.Xr fsync 2 ,
.Xr ftruncate 2 ,
.Xr getegid 2 ,
.Xr geteuid 2 ,
.Xr getgid 2 ,
.Xr getgroups 2 ,
.Xr getpeername 2 ,
.Xr getpgrp 2 ,
.Xr getpid 2 ,
.Xr getppid 2 ,
.Xr getsockname 2 ,
.Xr getsockopt 2 ,
.Xr getuid 2 ,
.Xr kill 2 ,
.Xr link 2 ,
.Xr listen 2 ,
.Xr lseek 2 ,
.Xr lstat 2 ,
.Xr mkdir 2 ,
.Xr mkfifo 2 ,
.Xr open 2 ,
.Xr pathconf 2 ,
.Xr pause 3 ,
.Xr pipe 2 ,
.Xr poll 2 ,
.Xr posix_trace_event 2
.Xr pselect 2
.Xr pthread_mutex_unlock 3 ,
.Xr raise 3 ,
.Xr read 2 ,
.Xr readlink 2 ,
.Xr recv 2 ,
.Xr recvfrom 2 ,
.Xr recvmsg 2 ,
.Xr rename 2 ,
.Xr rmdir 2 ,
.Xr select 2 ,
.Xr sem_post 3 ,
.Xr send 2 ,
.Xr sendmsg 2 ,
.Xr sendto 2 ,
.Xr setgid 2 ,
.Xr setpgid 2 ,
.Xr setsid 2 ,
.Xr setsockopt 2 ,
.Xr setuid 2 ,
.Xr shutdown 2 ,
.Xr sigaction 2 ,
.Xr sigaddset 3 ,
.Xr sigdelset 3 ,
.Xr sigemptyset 3 ,
.Xr sigfillset 3 ,
.Xr sigismember 3 ,
.Xr sleep 3 ,
.Xr signal 3 ,
.Xr sigpause 3 ,
.Xr sigpending 2 ,
.Xr sigprocmask 2 ,
.Xr sigqueue
.Xr sigset 3 ,
.Xr sigsuspend 2 ,
.Xr sockatmark 3 ,
.Xr socket 2 ,
.Xr socketpair 2 ,
.Xr stat 2 ,
.Xr symlink 2 ,
.Xr sysconf 3 ,
.Xr tcdrain 3 ,
.Xr tcflow 3 ,
.Xr tcflush 3 ,
.Xr tcgetattr 3 ,
.Xr tcgetpgrp 3 ,
.Xr tcsendbreak 3 ,
.Xr tcsetattr 3 ,
.Xr tcsetpgrp 3 ,
.Xr time 3 ,
.Xr timer_getoverrun 2 ,
.Xr timer_gettime 2 ,
.Xr timer_settime 2 ,
.Xr times 3 ,
.Xr umask 2 ,
.Xr uname 3 ,
.Xr unlink 2 ,
.Xr utime 3 ,
.Xr wait 2 ,
.Xr waitpid 2 ,
.Xr write 2 .
.Sh SEE ALSO
.Xr kill 1 ,
.Xr kill 2 ,
.Xr ptrace 2 ,
.Xr sigaction 2 ,
.Xr sigaltstack 2 ,
.Xr sigprocmask 2 ,
.Xr sigstack 2 ,
.Xr sigsuspend 2 ,
.Xr fpgetmask 3 ,
.Xr fpsetmask 3 ,
.Xr setjmp 3 ,
.Xr sigblock 3 ,
.Xr siginterrupt 3 ,
.Xr signal 3 ,
.Xr sigpause 3 ,
.Xr sigsetmask 3 ,
.Xr sigsetops 3 ,
.Xr tty 4
.Sh STANDARDS
These signals conform to
.St -p1003.1-90 ,
with the exception of
.Dv SIGTRAP ,
.Dv SIGEMT ,
.Dv SIGBUS ,
.Dv SIGSYS ,
.Dv SIGURG ,
.Dv SIGIO ,
.Dv SIGXCPU ,
.Dv SIGXFSZ ,
.Dv SIGVTALRM ,
.Dv SIGPROF ,
.Dv SIGWINCH ,
and
.Dv SIGINFO
which are Berkeley extensions (available on most
x Ns -derived systems), and
.Dv SIGPWR
which comes from System V.
.Sh HISTORY
.Dv SIGPWR
was introduced in
.Nx 1.4 .
.Sh NOTES
The current
.Nx
kernel never generates the
.Dv SIGPWR
signal.