268 lines
7.6 KiB
Groff
268 lines
7.6 KiB
Groff
.\" $NetBSD: signal.7,v 1.10 2006/03/28 19:13:04 wiz Exp $
|
|
.\"
|
|
.\" Copyright (c) 1999 The NetBSD Foundation, Inc.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the NetBSD
|
|
.\" Foundation, Inc. and its contributors.
|
|
.\" 4. Neither the name of The NetBSD Foundation nor the names of its
|
|
.\" contributors may be used to endorse or promote products derived
|
|
.\" from this software without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
.\" POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.Dd March 28, 2006
|
|
.Dt SIGNAL 7
|
|
.Os
|
|
.Sh NAME
|
|
.Nm signal
|
|
.Nd signal facilities
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Aq Pa signal.h
|
|
header file defines the following signals:
|
|
.Pp
|
|
.Bl -column "99" "SIGVTALARM" "terminate process" -compact
|
|
.It Em "Value" Ta Em "Name" Ta Em "Default Action" Ta Em "Description"
|
|
.It 1 Ta Li SIGHUP Ta "terminate process" Ta "terminal line hangup"
|
|
.It 2 Ta Li SIGINT Ta "terminate process" Ta "interrupt program"
|
|
.It 3 Ta Li SIGQUIT Ta "create core image" Ta "quit program"
|
|
.It 4 Ta Li SIGILL Ta "create core image" Ta "illegal instruction"
|
|
.It 5 Ta Li SIGTRAP Ta "create core image" Ta "trace trap"
|
|
.It 6 Ta Li SIGABRT Ta "create core image" Ta Xr abort 3
|
|
call (formerly
|
|
.Dv SIGIOT )
|
|
.It 7 Ta Li SIGEMT Ta "create core image" Ta "emulate instruction executed"
|
|
.It 8 Ta Li SIGFPE Ta "create core image" Ta "floating-point exception"
|
|
.It 9 Ta Li SIGKILL Ta "terminate process" Ta "kill program (cannot be caught or ignored)"
|
|
.It 10 Ta Li SIGBUS Ta "create core image" Ta "bus error"
|
|
.It 11 Ta Li SIGSEGV Ta "create core image" Ta "segmentation violation"
|
|
.It 12 Ta Li SIGSYS Ta "create core image" Ta "invalid system call argument"
|
|
.It 13 Ta Li SIGPIPE Ta "terminate process" Ta "write to a pipe with no reader"
|
|
.It 14 Ta Li SIGALRM Ta "terminate process" Ta "real-time timer expired"
|
|
.It 15 Ta Li SIGTERM Ta "terminate process" Ta "software termination signal"
|
|
.It 16 Ta Li SIGURG Ta "discard signal" Ta "urgent condition present on socket"
|
|
.It 17 Ta Li SIGSTOP Ta "stop process" Ta "stop (cannot be caught or ignored)"
|
|
.It 18 Ta Li SIGTSTP Ta "stop process" Ta "stop signal generated from keyboard"
|
|
.It 19 Ta Li SIGCONT Ta "discard signal" Ta "continue after stop"
|
|
.It 20 Ta Li SIGCHLD Ta "discard signal" Ta "child status has changed"
|
|
.It 21 Ta Li SIGTTIN Ta "stop process" Ta "background read attempted from control terminal"
|
|
.It 22 Ta Li SIGTTOU Ta "stop process" Ta "background write attempted to control terminal"
|
|
.It 23 Ta Li SIGIO Ta "discard signal" Ta "I/O is possible on a descriptor (see"
|
|
.Xr fcntl 2 )
|
|
.It 24 Ta Li SIGXCPU Ta "terminate process" Ta "CPU time limit exceeded (see"
|
|
.Xr setrlimit 2 )
|
|
.It 25 Ta Li SIGXFSZ Ta "terminate process" Ta "file size limit exceeded (see"
|
|
.Xr setrlimit 2 )
|
|
.It 26 Ta Li SIGVTALRM Ta "terminate process" Ta "virtual time alarm (see"
|
|
.Xr setitimer 2 )
|
|
.It 27 Ta Li SIGPROF Ta "terminate process" Ta "profiling timer alarm (see"
|
|
.Xr setitimer 2 )
|
|
.It 28 Ta Li SIGWINCH Ta "discard signal" Ta "window size change"
|
|
.It 29 Ta Li SIGINFO Ta "discard signal" Ta "status request from keyboard"
|
|
.It 30 Ta Li SIGUSR1 Ta "terminate process" Ta "user-defined signal 1"
|
|
.It 31 Ta Li SIGUSR2 Ta "terminate process" Ta "user-defined signal 2"
|
|
.It 32 Ta Li SIGPWR Ta "discard signal" Ta "power failure/restart"
|
|
.El
|
|
.Pp
|
|
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 .
|
|
.Pp
|
|
The following functions are async-signal-safe.
|
|
Any function not listed
|
|
below is unsafe to use in signal handlers.
|
|
.Pp
|
|
.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
|
|
.Bx 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
|