-
Notifications
You must be signed in to change notification settings - Fork 0
System
JayBeeDe edited this page Jan 6, 2024
·
1 revision
Signal Name | Number | Description |
---|---|---|
SIGHUP | 1 | Hangup (POSIX) |
SIGINT | 2 | Terminal interrupt (ANSI) |
SIGQUIT | 3 | Terminal quit (POSIX) |
SIGILL | 4 | Illegal instruction (ANSI) |
SIGTRAP | 5 | Trace trap (POSIX) |
SIGIOT | 6 | IOT Trap (4.2 BSD) |
SIGBUS | 7 | BUS error (4.2 BSD) |
SIGFPE | 8 | Floating point exception (ANSI) |
SIGKILL | 9 | Kill(can't be caught or ignored) (POSIX) |
SIGUSR1 | 10 | User defined signal 1 (POSIX) |
SIGSEGV | 11 | Invalid memory segment access (ANSI) |
SIGUSR2 | 12 | User defined signal 2 (POSIX) |
SIGPIPE | 13 | Write on a pipe with no reader, Broken pipe (POSIX) |
SIGALRM | 14 | Alarm clock (POSIX) |
SIGTERM | 15 | Termination (ANSI) |
SIGSTKFLT | 16 | Stack fault |
SIGCHLD | 17 | Child process has stopped or exited, changed (POSIX) |
SIGCONT | 18 | Continue executing, if stopped (POSIX) |
SIGSTOP | 19 | Stop executing(can't be caught or ignored) (POSIX) |
SIGTSTP | 20 | Terminal stop signal (POSIX) |
SIGTTIN | 21 | Background process trying to read, from TTY (POSIX) |
SIGTTOU | 22 | Background process trying to write, to TTY (POSIX) |
SIGURG | 23 | Urgent condition on socket (4.2 BSD) |
SIGXCPU | 24 | CPU limit exceeded (4.2 BSD) |
SIGXFSZ | 25 | File size limit exceeded (4.2 BSD) |
SIGVTALRM | 26 | Virtual alarm clock (4.2 BSD) |
SIGPROF | 27 | Profiling alarm clock (4.2 BSD) |
SIGWINCH | 28 | Window size change (4.3 BSD, Sun) |
SIGPWR | 30 | Power failure restart (System V) |
Redirection | fd 0 (stdin) | fd 1 (stdout) | fd 2 (stderr) | fd 3 | Description |
---|---|---|---|---|---|
initial | /dev/tty | /dev/tty | /dev/tty | Let's assume this is run in a terminal, so stdin, stdout and stderr are all initially connected to the terminal (tty). | |
$(...) | /dev/tty | pipe | /dev/tty | First, the command substitution is set up. Command's stdout (FileDescriptor 1) gets captured (by using a pipe internally). Command's stderr (FD 2) still points to its regular place (the script's stderr). | |
3>&2 | /dev/tty | pipe | /dev/tty | /dev/tty | Next, FD 3 should point to what FD 2 points to at this very moment, meaning FD 3 will point to the script's stderr ("save stderr in FD 3"). |
2>&1 | /dev/tty | pipe | pipe | /dev/tty | Next, FD 2 should point to what FD 1 currently points to, meaning FD 2 will point to stdout. Right now, both FD 2 and FD 1 would be captured. |
1>&3 | /dev/tty | /dev/tty | pipe | /dev/tty | Next, FD 1 should point to what FD 3 currently points to, meaning FD 1 will point to the script's stderr. FD 1 is no longer captured. We have "swapped" FD 1 and FD 2. |
3>&- | /dev/tty | /dev/tty | pipe | Finally, we close FD 3 as it is no longer necessary. |
Run Level | Mode | Action |
---|---|---|
0 | Halt | Shuts down system |
1 | Single-User Mode | Does not configure network interfaces, start daemons, or allow non-root logins |
2 | Multi-User Mode | Does not configure network interfaces or start daemons. |
3 | Multi-User Mode with Networking | Starts the system normally. |
4 | Undefined | Not used/User-definable |
5 | X11 | As runlevel 3 + display manager(X) |
6 | Reboot | Reboots the system |
Standard run levels for Red Hat based distributions
The run level is configured in the /etc/inittab
/etc/rc.d contains a folder for each run level: rcX.d.
rcX.d contains a sym link to /etc/init.d/daemon which is the daemon.
chkconfig is the tool used for that purpose
If you find any mistake, do not hesitate to open an issue.