1/33
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
SIGHUP
hangup - this is sent to a process when the terminal that controls it is closed
SIGINT
interrupt - sent when a user presses [Ctrl] + C in the controlling terminal to interrupt a process
SIGQUIT
quit - sent when a user presses [Ctrl] + D to quit
SIGKILL
kill - immediately kill a process with no clean-up operations
SIGTERM
terminate - program termination
SIGSTOP
Stop the program. It cannot be handled anymore.
SIGTSTP
temporary stop - sent when a user presses [Ctrl] + Z to request for a service to suspend. The user can handle it afterward
what’s the syntax for sending a <signal> to a process?
SIGILL
illegal instruction - triggered when a process attempts to execute an invalid, unknown, or privileged CPU instruction.
SIGTRAP
breakpoint trap / trace - used by debuggers (like gdb) to pause a program at a specific point
SIGABRT
abort - sent by the process itself when it calls the abort() function, usually due to a critical software failure or failed assertion
SIGBUS
bus error - indicates a hardware-level memory access error, such as misaligned memory access or referencing non-existent physical space
SIGFPE
floating-point exception - triggered by erroneous arithmetic operations like division by zero or arithmetic overflow
SIGUSR1
user-defined signal 1 - left entirely to developers to define custom behaviors within their programs
SIGSEGV
segmentation fault - triggered when a program attempts to access a memory location it is not allowed to (e.g., dereferencing a null pointer)
SIGUSR2
user-defined signal 2 - the second custom-purpose signal available for applications
SIGPIPE
broken pipe - sent to a process trying to write data to a pipe or socket that has already been closed by the reader on the other end
SIGALRM
alarm clock - sent when a timer set by the alarm() system call expires; used for time-outs
SIGSTKFLT
stack fault - historically used for coprocessor stack faults on older architectures; rarely used on modern systems
SIGCHLD
child status changed - sent to a parent process whenever one of its child processes terminates, stops, or resumes
SIGCONT
continue - instructs a process to resume execution if it was previously paused by a stop signal
SIGTTIN
“attempted terminal input” background read - sent to a background process if it attempts to read input from its controlling terminal
SIGTTOU
“attempted terminal output” background write - sent to a background process if it attempts to write output to its controlling terminal
SIGURG
urgent data - sent when urgent or out-of-band data is available on a network socket
SIGXCPU
exceeded CPU time limit - sent when a process exceeds its maximum allowed CPU allocation
SIGXFSZ
exceeded file size limit - sent when a process attempts to grow a file beyond the maximum allowed limit
SIGVTALRM
virtual alarm/timer expired - sent when a virtual timer expires (measuring only CPU time used by the process)
SIGPROF
profiling timer expired - sent when a profiling timer expires (measuring both process CPU time and system CPU time)
SIGWINCH
window change/resize - sent to a foreground terminal process when the size of its terminal window changes
SIGIO (SIGPOLL)
I/O possible - sent when a file descriptor is ready for input or output operations
SIGPWR
power failure - sent by power management systems to indicate a power loss or UPS battery event, signaling the system to save data and shut down
SIGSYS
bad system call - sent when a program passes an invalid or unimplemented argument to a system call
Signals 34 - 64
Real-Time Signals - no standard system meanings; reserved entirely for custom, application-level signaling
34-49: SIGRTMIN to SIGRTMIN+15
50-64: SIGRTMAX-14 to SIGRTMAX
Signals 1 - 31
Standard Signals