1/33
Vocabulary flashcards covering core UNIX signal concepts, common signals, handling APIs, and best-practice terminology from Lectures 17-18.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
kill (command)
Shell utility that ends, pauses, or continues a process by sending it a signal.
SIGTERM
Default signal sent by kill; politely asks a process to terminate.
SIGSTOP
Signal that pauses (stops) a process; cannot be caught or ignored.
SIGCONT
Signal that resumes a process previously stopped by SIGSTOP or SIGTSTP.
Ctrl-C
Terminal shortcut that sends the SIGINT signal to the foreground process.
SIGINT
Interrupt signal (Ctrl-C) that by default terminates the process.
Signal
Asynchronous notification sent by the OS/CPU to a process to indicate an event.
Pending Signals
32-bit bitmap in the kernel marking signals generated but not yet delivered.
Blocked Signals
32-bit bitmap specifying signals a process is temporarily ignoring.
Signal Handler
User-defined function executed when a specified signal is delivered to a process.
Default Handler
Built-in action the kernel performs for a signal when no custom handler exists.
SIGKILL
Non-catchable, non-ignorable signal that forcefully terminates a process.
SIGHUP
"Hang up" signal sent when a controlling terminal or remote connection is lost.
SIGPIPE
Signal raised when writing to a pipe whose reading end has closed.
SIGTSTP / SIGSTP
Signal sent by Ctrl-Z that suspends (pauses) the foreground process.
SIGQUIT
Signal sent by Ctrl-\ that terminates a process and creates a core dump.
Async-Signal-Safe Function
Library routine guaranteed to be safely callable from inside a signal handler (e.g., write).
SIG_DFL
Constant passed to signal()/sigaction() to restore a signal's default behavior.
SIG_IGN
Constant passed to signal()/sigaction() to make a process ignore a signal.
SIGUSR1
User-defined signal 1 with no predefined action; available for application use.
SIGUSR2
User-defined signal 2 with no predefined action; available for application use.
Hardware Interrupt
CPU-level event (e.g., key press, device ready) that suspends current execution to run an interrupt service routine.
Exception
CPU-detected error (e.g., divide by zero) that triggers a kernel handler and often results in a signal to the process.
SIGFPE
Signal sent to a process after a floating-point exception such as divide-by-zero.
SIGSEGV
Signal sent when a process performs an invalid memory access (segmentation fault).
sigprocmask()
System call used to block or unblock specified signals for the calling process.
Last-In First-Out Signal Handling
Strategy where a newly arrived signal preempts the handler currently running (stack-style).
Block-and-Queue Strategy
Approach that defers additional signals until the current handler finishes, then delivers them in order.
sigaction()
Advanced API for installing signal handlers with extra control and reliability.
sa_handler
Field in struct sigaction specifying the function (or SIGDFL/SIGIGN) to run when the signal occurs.
sa_sigaction
Alternate field giving a handler that receives extra context information (siginfo_t *).
sa_flags
Bitmask in struct sigaction controlling options such as whether to use sa_sigaction.
sa_mask
Signal set in struct sigaction listing additional signals to block while the handler runs.
Mousetrap Problem
Historical issue where a handler had to reinstall itself, risking missed signals if another arrived before reinstallation.