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
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
25
SIGXFSZ
terminate process
26
SIGVTALRM
terminate process
27
SIGPROF
terminate process
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).