Summary of signals

QNX SDP8.0System ArchitectureDeveloperUser

This table describes what each signal means and the default action that QNX OS performs to handle it. Here, default action means what happens if no handler for this specific signal is defined by the application writer.

Signal Description Default action
SIGABRT Abnormal termination, issued by functions such as abort() Kill the process and write a dump file
SIGALRM Alarm clock, issued by functions such as alarm() Kill the process
SIGBUS Bus error, or a memory parity error (a QNX OS-specific interpretation). If a second fault occurs while your process is in a signal handler for this fault, the process is terminated. Kill the process and write a dump file
SIGCHLD or SIGCLD A child process terminated Ignore the signal, but still let the process's children become zombies
SIGCONT Continue the process. You can't block this signal. Make the process continue if it's STOPPED; otherwise ignore the signal
SIGDEADLK

A mutex deadlock occurred. QNX doesn't generate this signal, it's user-generated (i.e., generated by a user call to a function such as kill, raise, pthread_kill, etc.).

SIGDEADLK and SIGEMT refer to the same signal. Some utilities (e.g., gdb, ksh, slay, and kill) know about SIGEMT, but not SIGDEADLK.

Kill the process and write a dump file
SIGDOOM Terminate the process due to insufficient resources (e.g., it's out of memory). This is similar to SIGKILL but you can ignore it. Kill the process
SIGEMT

EMT instruction (emulation trap)

SIGDEADLK and SIGEMT refer to the same signal. Some utilities (e.g., gdb, ksh, slay, and kill) know about SIGEMT but not SIGDEADLK.

Kill the process and write a dump file
SIGFPE Floating point exception Kill the process and write a dump file. This signal is delivered for a given floating-point exception only if it is unmasked. By default, all floating-point exceptions are masked. To unmask them, you must call feenableexcept().
SIGHUP Hangup; the session leader died, or the controlling terminal closed Kill the process
SIGILLa Illegal hardware instruction. If a second fault occurs while your thread is in a signal handler for this fault, the process is terminated. Kill the process and write a dump file
SIGINT Interrupt; typically generated when you press CtrlC or CtrlBreak (you can change this with stty) Kill the process
SIGIO Asynchronous I/O Ignore the signal
SIGIOT I/O trap; a synonym for SIGABRT Kill the process
SIGKILL Kill. You can't block, ignore, or catch this signal. Kill the processb
SIGPIPE Write on pipe with no reader Kill the process
SIGPOLL System V name for SIGIO Ignore the signal
SIGPROF Profiling timer expired. POSIX has marked this signal as obsolescent; QNX OS doesn't support profiling timers or send this signal. Kill the process
SIGPWR Power failure Ignore the signal
SIGQUIT Quit; typically generated when you press Ctrl\ (you can change this with stty) Kill the process and write a dump file
SIGSEGV Segmentation violation; an invalid memory reference was detected. If a second fault occurs while your process is in a signal handler for this fault, the process will be terminated. Kill the process and write a dump file
SIGSTOP Stop the process. You can't block, ignore, or catch this signal. Stop the processb
SIGSYS Bad argument to system call Kill the process and write a dump file
SIGTERM Termination signal Kill the process
SIGTRAP Trace trap Kill the process and write a dump file
SIGTSTP Stop signal from tty; typically generated when you press CtrlZ (you can change this with stty) Stop the process
SIGTTIN Background read attempted from control terminal Stop the process
SIGTTOU Background write attempted to control terminal Stop the process
SIGURG Urgent condition on I/O channel Ignore the signal
SIGUSR1 User-defined signal 1 Kill the process
SIGUSR2 User-defined signal 2 Kill the process
SIGVTALRM Virtual timer expired. POSIX has marked this signal as obsolescent; QNX OS doesn't support virtual timers or send this signal. Kill the process
SIGWINCH The size of the terminal window changed Ignore the signal
SIGXCPU Soft CPU time limit exceeded (see the RLIMIT_CPU resource for setrlimit()) Kill the process and write a dump file
SIGXFSZ File size exceeded (see the RLIMIT_FSIZE resource for prlimit()) This happens if the hard limit on disk quotas has been exceeded on a Power-Safe (QNX6) filesystem (see Managing disk quotas) in the QNX OS User's Guide). Kill the process and write a dump file
Page updated:
a One cause for a SIGILL signal is trying to perform an operation that requires I/O privileges. A thread can request these privileges by making sure the process has the PROCMGR_AID_IO ability enabled (see procmgr_ability()) and then calling ThreadCtl()) specifying the _NTO_TCTL_IO flag:
ThreadCtl( _NTO_TCTL_IO, 0 );
b For signals that can't be ignored or caught, meaning application writers can't tell the OS to throw them away and can't define handlers for them or wait for them, they are always handled by the OS and, hence, the default action is always performed.