2024-02-01 14:34:27 +00:00
|
|
|
---
|
|
|
|
title: Signals
|
|
|
|
TARGET DECK: Obsidian::STEM
|
|
|
|
FILE TAGS: posix::signal
|
|
|
|
tags:
|
|
|
|
- posix
|
|
|
|
- signal
|
|
|
|
---
|
|
|
|
|
2024-02-02 11:41:17 +00:00
|
|
|
## Overview
|
|
|
|
|
|
|
|
This is an overview of specific POSIX signals.
|
2024-02-01 14:34:27 +00:00
|
|
|
|
|
|
|
Code | Name
|
|
|
|
----- | --------------
|
|
|
|
1 | SIGHUP
|
|
|
|
2 | SIGINT
|
|
|
|
4 | SIGILL
|
|
|
|
6 | SIGABRT
|
|
|
|
7 | SIGBUS
|
|
|
|
8 | SIGFPE
|
|
|
|
9 | SIGKILL
|
|
|
|
11 | SIGSEGV
|
|
|
|
13 | SIGPIPE
|
|
|
|
15 | SIGTERM
|
|
|
|
|
|
|
|
## Details
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
What command can we run to access the official manual page for signals?
|
|
|
|
Back: `man 7 signal`
|
|
|
|
Reference: Dowling, “A List of Signals and What They Mean.”
|
|
|
|
Tags: linux::cli
|
|
|
|
<!--ID: 1706668253908-->
|
|
|
|
END%%
|
|
|
|
|
2024-02-19 14:05:13 +00:00
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
What command can we run to print POSIX signals to the terminal?
|
|
|
|
Back: `kill -l`
|
|
|
|
Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916.
|
|
|
|
<!--ID: 1708265979300-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Cloze
|
|
|
|
{`ascii`} is to ASCII as {`kill -l`} is to POSIX signals.
|
|
|
|
Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916.
|
|
|
|
<!--ID: 1708265979304-->
|
|
|
|
END%%
|
|
|
|
|
2024-02-01 14:34:27 +00:00
|
|
|
### SIGHUP (1)
|
|
|
|
|
|
|
|
A process receives a `SIGHUP` signal when the terminal it is attached to goes away before it finishes executing.
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Cloze
|
|
|
|
Signal {`SIGHUP`} corresponds to number {1}.
|
|
|
|
Reference: Dowling, “A List of Signals and What They Mean.”
|
|
|
|
<!--ID: 1706668531417-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
What is the `HUP` in `SIGHUP` an acronym for?
|
|
|
|
Back: **H**ang **up**
|
|
|
|
Reference: Dowling, “A List of Signals and What They Mean.”
|
|
|
|
<!--ID: 1706669687254-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
When does a process receive a `SIGHUP` signal?
|
|
|
|
Back: When the terminal it is attached to disappears before it finishes execution.
|
|
|
|
Reference: Dowling, “A List of Signals and What They Mean.”
|
|
|
|
<!--ID: 1706669687261-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
What historical context led to `SIGHUP`'s name?
|
|
|
|
Back: This name refers to hanging up the telephone in the days of telephone modems.
|
|
|
|
Reference: Dowling, “A List of Signals and What They Mean.”
|
|
|
|
<!--ID: 1706669687266-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
What command is used to make a program immune to `SIGHUP` signals?
|
|
|
|
Back: `nohup`
|
|
|
|
Reference: `man 1 nohup`
|
|
|
|
Tags: linux::cli
|
|
|
|
<!--ID: 1706670390877-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
If a `nohup` program's `stdin` is a terminal, where is its input redirected from?
|
|
|
|
Back: An unreadable file.
|
|
|
|
Reference: `man 1 nohup`
|
|
|
|
Tags: linux::cli
|
|
|
|
<!--ID: 1706670390904-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
If a `nohup` program's `stdout` is a terminal, where is its output redirected to?
|
|
|
|
Back: `nohup.out` if possible, `$HOME/nohup.out` otherwise.
|
|
|
|
Reference: `man 1 nohup`
|
|
|
|
Tags: linux::cli
|
|
|
|
<!--ID: 1706670390909-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
If a `nohup` program's `stderr` is a terminal, where is its errors redirected to?
|
|
|
|
Back: `stdout`
|
|
|
|
Reference: `man 1 nohup`
|
|
|
|
Tags: linux::cli
|
|
|
|
<!--ID: 1706670390913-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
What command can be run to view all processes that would receive a `SIGHUP` when the current terminal exits?
|
|
|
|
Back: `ps T`
|
|
|
|
Reference: `man 1 ps`
|
|
|
|
<!--ID: 1706670390919-->
|
|
|
|
END%%
|
|
|
|
|
2024-02-02 11:41:17 +00:00
|
|
|
### SIGINT (2)
|
|
|
|
|
|
|
|
Indicates the process was interrupted by the user. Happens when pressing `Ctrl-C` from the controlling terminal.
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Cloze
|
|
|
|
Signal {`SIGINT`} corresponds to number {2}.
|
|
|
|
Reference: Dowling, “A List of Signals and What They Mean.”
|
|
|
|
<!--ID: 1706815743860-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
What control sequence usually triggers a `SIGINT`?
|
|
|
|
Back: `Ctrl-C`
|
|
|
|
Reference: Dowling, “A List of Signals and What They Mean.”
|
|
|
|
<!--ID: 1706815743867-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
%%ANKI
|
|
|
|
Basic
|
|
|
|
What is the `INT` in `SIGINT` short for?
|
|
|
|
Back: **Int**errupt
|
|
|
|
Reference: Dowling, “A List of Signals and What They Mean.”
|
|
|
|
<!--ID: 1706815743870-->
|
|
|
|
END%%
|
|
|
|
|
|
|
|
## References
|
|
|
|
|
2024-02-19 14:05:13 +00:00
|
|
|
* Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916.
|
2024-02-02 11:41:17 +00:00
|
|
|
* Dowling, “A List of Signals and What They Mean.”
|