Annotation of src/share/man/man7/signal.7, Revision 1.16
1.16 ! uwe 1: .\" $NetBSD: signal.7,v 1.15 2010/03/22 18:58:32 joerg Exp $
1.1 jdolecek 2: .\"
3: .\" Copyright (c) 1999 The NetBSD Foundation, Inc.
4: .\" All rights reserved.
5: .\"
6: .\" Redistribution and use in source and binary forms, with or without
7: .\" modification, are permitted provided that the following conditions
8: .\" are met:
9: .\" 1. Redistributions of source code must retain the above copyright
10: .\" notice, this list of conditions and the following disclaimer.
11: .\" 2. Redistributions in binary form must reproduce the above copyright
12: .\" notice, this list of conditions and the following disclaimer in the
13: .\" documentation and/or other materials provided with the distribution.
14: .\"
15: .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16: .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17: .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18: .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19: .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20: .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21: .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22: .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23: .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24: .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25: .\" POSSIBILITY OF SUCH DAMAGE.
26: .\"
1.14 christos 27: .Dd February 27, 2009
1.1 jdolecek 28: .Dt SIGNAL 7
29: .Os
30: .Sh NAME
31: .Nm signal
32: .Nd signal facilities
33: .Sh DESCRIPTION
34: The
1.15 joerg 35: .In signal.h
1.1 jdolecek 36: header file defines the following signals:
37: .Pp
1.16 ! uwe 38: .Bl -column ".Sy Value" ".Dv SIGVTALARM" "terminate process" -compact
! 39: .It Sy "Value" Ta Sy "Name" Ta Sy "Default Action" Ta Sy "Description"
! 40: .It 1 Ta Dv SIGHUP Ta "terminate process" Ta "terminal line hangup"
! 41: .It 2 Ta Dv SIGINT Ta "terminate process" Ta "interrupt program"
! 42: .It 3 Ta Dv SIGQUIT Ta "create core image" Ta "quit program"
! 43: .It 4 Ta Dv SIGILL Ta "create core image" Ta "illegal instruction"
! 44: .It 5 Ta Dv SIGTRAP Ta "create core image" Ta "trace trap"
! 45: .It 6 Ta Dv SIGABRT Ta "create core image" Ta Xr abort 3
1.1 jdolecek 46: call (formerly
47: .Dv SIGIOT )
1.16 ! uwe 48: .It 7 Ta Dv SIGEMT Ta "create core image" Ta "emulate instruction executed"
! 49: .It 8 Ta Dv SIGFPE Ta "create core image" Ta "floating-point exception"
! 50: .It 9 Ta Dv SIGKILL Ta "terminate process" Ta "kill program (cannot be caught or ignored)"
! 51: .It 10 Ta Dv SIGBUS Ta "create core image" Ta "bus error"
! 52: .It 11 Ta Dv SIGSEGV Ta "create core image" Ta "segmentation violation"
! 53: .It 12 Ta Dv SIGSYS Ta "create core image" Ta "invalid system call argument"
! 54: .It 13 Ta Dv SIGPIPE Ta "terminate process" Ta "write to a pipe with no reader"
! 55: .It 14 Ta Dv SIGALRM Ta "terminate process" Ta "real-time timer expired"
! 56: .It 15 Ta Dv SIGTERM Ta "terminate process" Ta "software termination signal"
! 57: .It 16 Ta Dv SIGURG Ta "discard signal" Ta "urgent condition present on socket"
! 58: .It 17 Ta Dv SIGSTOP Ta "stop process" Ta "stop (cannot be caught or ignored)"
! 59: .It 18 Ta Dv SIGTSTP Ta "stop process" Ta "stop signal generated from keyboard"
! 60: .It 19 Ta Dv SIGCONT Ta "discard signal" Ta "continue after stop (even if blocked or ignored)"
! 61: .It 20 Ta Dv SIGCHLD Ta "discard signal" Ta "child status has changed"
! 62: .It 21 Ta Dv SIGTTIN Ta "stop process" Ta "background read attempted from control terminal"
! 63: .It 22 Ta Dv SIGTTOU Ta "stop process" Ta "background write attempted to control terminal"
! 64: .It 23 Ta Dv SIGIO Ta "discard signal" Ta "I/O is possible on a descriptor (see"
1.1 jdolecek 65: .Xr fcntl 2 )
1.16 ! uwe 66: .It 24 Ta Dv SIGXCPU Ta "terminate process" Ta "CPU time limit exceeded (see"
1.1 jdolecek 67: .Xr setrlimit 2 )
1.16 ! uwe 68: .It 25 Ta Dv SIGXFSZ Ta "terminate process" Ta "file size limit exceeded (see"
1.1 jdolecek 69: .Xr setrlimit 2 )
1.16 ! uwe 70: .It 26 Ta Dv SIGVTALRM Ta "terminate process" Ta "virtual time alarm (see"
1.1 jdolecek 71: .Xr setitimer 2 )
1.16 ! uwe 72: .It 27 Ta Dv SIGPROF Ta "terminate process" Ta "profiling timer alarm (see"
1.1 jdolecek 73: .Xr setitimer 2 )
1.16 ! uwe 74: .It 28 Ta Dv SIGWINCH Ta "discard signal" Ta "window size change"
! 75: .It 29 Ta Dv SIGINFO Ta "discard signal" Ta "status request from keyboard"
! 76: .It 30 Ta Dv SIGUSR1 Ta "terminate process" Ta "user-defined signal 1"
! 77: .It 31 Ta Dv SIGUSR2 Ta "terminate process" Ta "user-defined signal 2"
! 78: .It 32 Ta Dv SIGPWR Ta "discard signal" Ta "power failure/restart"
1.1 jdolecek 79: .El
1.6 lha 80: .Pp
1.7 kleink 81: A function that is async-signal-safe is either reentrant or
1.8 jmmv 82: non-interruptible by signals.
83: This means that they can be used in
1.6 lha 84: signal handlers
85: and in the child of threaded programs after doing
86: .Xr fork 2 .
87: .Pp
1.8 jmmv 88: The following functions are async-signal-safe.
89: Any function not listed
1.6 lha 90: below is unsafe to use in signal handlers.
91: .Pp
92: .Xr _Exit 2 ,
93: .Xr _exit 2 ,
94: .Xr abort 3 ,
95: .Xr accept 2 ,
96: .Xr access 2 ,
1.10 wiz 97: .\" .Xr aio_error
1.6 lha 98: .\" .Xr aio_return
99: .\" .Xr aio_suspend
100: .Xr alarm 3 ,
101: .Xr bind 2 ,
102: .Xr cfgetispeed 3 ,
103: .Xr cfgetospeed 3 ,
104: .Xr cfsetispeed 3 ,
105: .Xr cfsetospeed 3 ,
106: .Xr chdir 2 ,
107: .Xr chmod 2 ,
108: .Xr chown 2 ,
109: .Xr clock_gettime 2 ,
110: .Xr close 2 ,
111: .Xr connect 2 ,
112: .Xr creat 3 ,
113: .Xr dup 2 ,
114: .Xr dup2 2 ,
115: .Xr execle 3 ,
1.10 wiz 116: .Xr execve 2 ,
1.6 lha 117: .Xr fchmod 2 ,
118: .Xr fchown 2 ,
119: .Xr fcntl 2 ,
120: .Xr fdatasync 2 ,
121: .Xr fork 2 ,
122: .Xr fpathconf 2 ,
123: .Xr fstat 2 ,
124: .Xr fsync 2 ,
125: .Xr ftruncate 2 ,
126: .Xr getegid 2 ,
127: .Xr geteuid 2 ,
128: .Xr getgid 2 ,
129: .Xr getgroups 2 ,
130: .Xr getpeername 2 ,
131: .Xr getpgrp 2 ,
132: .Xr getpid 2 ,
133: .Xr getppid 2 ,
134: .Xr getsockname 2 ,
135: .Xr getsockopt 2 ,
136: .Xr getuid 2 ,
137: .Xr kill 2 ,
138: .Xr link 2 ,
139: .Xr listen 2 ,
140: .Xr lseek 2 ,
141: .Xr lstat 2 ,
142: .Xr mkdir 2 ,
143: .Xr mkfifo 2 ,
144: .Xr open 2 ,
145: .Xr pathconf 2 ,
146: .Xr pause 3 ,
147: .Xr pipe 2 ,
148: .Xr poll 2 ,
149: .\" .Xr posix_trace_event 2
150: .\" .Xr pselect 2
151: .Xr raise 3 ,
152: .Xr read 2 ,
153: .Xr readlink 2 ,
154: .Xr recv 2 ,
155: .Xr recvfrom 2 ,
156: .Xr recvmsg 2 ,
157: .Xr rename 2 ,
1.10 wiz 158: .Xr rmdir 2 ,
1.6 lha 159: .Xr select 2 ,
160: .Xr sem_post 3 ,
161: .Xr send 2 ,
162: .Xr sendmsg 2 ,
163: .Xr sendto 2 ,
164: .Xr setgid 2 ,
165: .Xr setpgid 2 ,
166: .Xr setsid 2 ,
167: .Xr setsockopt 2 ,
168: .Xr setuid 2 ,
169: .Xr shutdown 2 ,
170: .Xr sigaction 2 ,
171: .Xr sigaddset 3 ,
172: .Xr sigdelset 3 ,
173: .Xr sigemptyset 3 ,
174: .Xr sigfillset 3 ,
175: .Xr sigismember 3 ,
176: .Xr sleep 3 ,
177: .Xr signal 3 ,
178: .Xr sigpause 3 ,
179: .Xr sigpending 2 ,
1.10 wiz 180: .Xr sigprocmask 2 ,
181: .\" .Xr sigqueue
1.6 lha 182: .Xr sigset 3 ,
183: .Xr sigsuspend 2 ,
1.10 wiz 184: .Xr sockatmark 3 ,
1.6 lha 185: .Xr socket 2 ,
186: .Xr socketpair 2 ,
187: .Xr stat 2 ,
188: .Xr symlink 2 ,
189: .Xr sysconf 3 ,
190: .Xr tcdrain 3 ,
191: .Xr tcflow 3 ,
192: .Xr tcflush 3 ,
193: .Xr tcgetattr 3 ,
194: .Xr tcgetpgrp 3 ,
195: .Xr tcsendbreak 3 ,
196: .Xr tcsetattr 3 ,
197: .Xr tcsetpgrp 3 ,
198: .Xr time 3 ,
199: .Xr timer_getoverrun 2 ,
200: .Xr timer_gettime 2 ,
201: .Xr timer_settime 2 ,
202: .Xr times 3 ,
203: .Xr umask 2 ,
204: .Xr uname 3 ,
205: .Xr unlink 2 ,
206: .Xr utime 3 ,
207: .Xr wait 2 ,
208: .Xr waitpid 2 ,
209: .Xr write 2 .
1.13 wiz 210: .Sh SEE ALSO
211: .Xr kill 1 ,
212: .Xr kill 2 ,
213: .Xr ptrace 2 ,
214: .Xr sigaction 2 ,
215: .Xr sigaltstack 2 ,
216: .Xr sigprocmask 2 ,
217: .Xr sigstack 2 ,
218: .Xr sigsuspend 2 ,
219: .Xr fpgetmask 3 ,
220: .Xr fpsetmask 3 ,
221: .Xr setjmp 3 ,
222: .Xr sigblock 3 ,
223: .Xr siginterrupt 3 ,
224: .Xr signal 3 ,
225: .Xr sigpause 3 ,
226: .Xr sigsetmask 3 ,
227: .Xr sigsetops 3 ,
228: .Xr tty 4
1.1 jdolecek 229: .Sh STANDARDS
1.2 jhawk 230: These signals conform to
1.1 jdolecek 231: .St -p1003.1-90 ,
232: with the exception of
233: .Dv SIGTRAP ,
234: .Dv SIGEMT ,
235: .Dv SIGBUS ,
236: .Dv SIGSYS ,
237: .Dv SIGURG ,
238: .Dv SIGIO ,
239: .Dv SIGXCPU ,
240: .Dv SIGXFSZ ,
241: .Dv SIGVTALRM ,
242: .Dv SIGPROF ,
243: .Dv SIGWINCH ,
244: and
245: .Dv SIGINFO
246: which are Berkeley extensions (available on most
247: .Bx Ns \-derived
1.2 jhawk 248: systems), and
1.1 jdolecek 249: .Dv SIGPWR
1.2 jhawk 250: which comes from System V.
251: .Sh HISTORY
1.1 jdolecek 252: .Dv SIGPWR
1.2 jhawk 253: was introduced in
254: .Nx 1.4 .
1.1 jdolecek 255: .Sh NOTES
1.2 jhawk 256: The current
257: .Nx
258: kernel never generates the
1.1 jdolecek 259: .Dv SIGPWR
260: signal.
CVSweb <webmaster@jp.NetBSD.org>