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