Home  >  Article  >  Operation and Maintenance  >  What signals does linux have?

What signals does linux have?

青灯夜游
青灯夜游Original
2023-03-30 14:15:083666browse

Linux signals include: 1. SIGHUP, used to shut down the process immediately, then re-read the configuration file and then restart; 2. SIGINT, the program abort signal, used to terminate the foreground process; 3. SIGQUIT, the program exits Signal; 4. SIGFPE, issued when a fatal arithmetic operation error occurs; 5. SIGKILL, used to end the program immediately; 6. SIGALRM, clock timing signal; 7. SIGTERM, signal to terminate the process normally; 8. SIGCONT; 9. SIGSTOP etc.

What signals does linux have?

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

What are signals in Linux

The management of processes mainly refers to the closing and restarting of processes. When we generally close or restart a software, we close or restart its program, rather than directly operating the process. For example, to restart the apache service, generally use the command "service httpd restart" to restart the apache program.

So, can apache be shut down or restarted by directly managing the process? The answer is yes, then you have to rely on the signal of the process (Signal). We need to give the process a number and tell the process what we want it to do.

Signals are very important in the Linux operating system. Signals can be generated from the keyboard, generated by software conditions, or generated by calling hardware exceptions. There are a total of 64 signals in Linux generated from system function calls. Linux users can view them through kill -l, as follows

1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX

The first 32 types are called unreliable signals, which are generally used after the software does not support queuing. The 32 types of signals known as reliable are generally used in hardware to support queuing.

Common signals in linux

##Signal codeSignal nameExplanation1SIGHUPThis signal causes the process to shut down immediately. Then re-read the configuration file and restart2SIGINTProgram termination signal, used to terminate the foreground process. Equivalent to outputting Ctrl C shortcut key3SIGQUITProgram exit signal (same as Ctrl \)8SIGFPEEmitted when a fatal arithmetic error occurs. Including not only floating point operation errors, but also all other arithmetic operation errors such as overflow and division by 09SIGKILL is used immediately End the program. This signal cannot be blocked, processed or ignored. Generally used to forcefully terminate the process14SIGALRMClock timing signal, which calculates the actual time or clock time. The alarm function uses this signal 15SIGTERMThe signal to terminate the process normally, the default signal of the kill command. If a problem has occurred in the process, then this signal cannot terminate the process normally. Only then will we try the SIGKILL signal, which is signal 918SIGCONT This signal allows the suspended process to resume execution. This signal cannot be blocked19SIGSTOPThis signal can suspend the foreground process, which is equivalent to entering the Ctrl Z shortcut key. This signal cannot be blocked

KILL, STOP signals cannot be blocked, ignored, or captured.

Term means to terminate the process. Core means to terminate the process and dump core. Stop suspends the thread, Cont resumes the suspended thread.

Common uses of common signals

  • SIGHUP

    This signal occurs when the user terminal connection (normal or abnormal) ends Issued, usually when the terminal's controlling process terminates, to notify individual jobs within the same session that they are no longer associated with the controlling terminal.

    When logging in to Linux, the system will assign a terminal session (Session) to the logged-in user. All programs running in this terminal, including the foreground process group and background process group, generally belong to this session. When the user logs out of Linux, the foreground process group and the background process that outputs to the terminal will receive the SIGHUP signal.

    The default operation of this signal is to terminate the process, so after logging out, the front and back processes and the processes with terminal output in the background will be terminated.

    But you can capture this signal. For example, wget can capture the SIGHUP signal and ignore it, so that even if you log out of Linux, wget can continue downloading.

    In addition, for daemons that are disconnected from the terminal, this signal is used to notify it to re-read the configuration file.

    For example, sending a HUP signal to the nginx process can refresh the configuration.

  • SIGINT: Program termination (interrupt) signal, issued when the user types the INTR character (usually Ctrl-C), used to notify the foreground process group to terminate the process.

  • SIGQUIT: Similar to SIGINT, but controlled by the QUIT character (usually Ctrl-\). The process will generate a core file when exiting due to receiving SIGQUIT, similar in this sense to signal a program error.

  • SIGTERM:

    Program end (terminate) signal. Unlike SIGKILL, this signal can be blocked and processed. It is usually used to require the program to exit normally by itself, allowing the process to do some necessary cleanup work before exiting.

    The shell command kill generates this signal by default. If the process cannot be terminated, we will try SIGKILL.

  • SIGTERM allows the process to end gracefully. If the process itself is not decent, use SIGKILL to help it end gracefully.

  • SIGCONT: Let a stopped process continue to execute. This signal cannot be blocked. You can use a handler to allow the program to complete specific tasks when it changes from the stopped state to continue execution. Work. For example, redisplay the prompt...

  • SIGSTOP: Stops the execution of the process. Note the difference between it and terminate and interrupt: the process has not ended, but execution has been suspended. This signal cannot be blocked, processed or ignored.

Common signal shortcut keys

  • ctrl-c sends SIGINT signal To all processes in the foreground process group. Often used to terminate a running program.

  • ctrl-z sends the SIGTSTP signal to all processes in the foreground process group, often used to suspend a process.

  • ctrl-d does not send a signal, but represents a special binary value, indicating EOF.

  • ctrl-\ Send the SIGQUIT signal to all processes in the foreground process group, terminate the foreground process and generate the core file.

##KeyFunction## Ctrl-cCtrl-zCtrl-dCtrl-sCtrl-qCtrl -oCtrl-lRelated recommendations: "
Kill foreground process
Suspend foreground process
Terminate input, or exit shell
Suspend output
Resume output
Discard output
Clear screen
Linux Video Tutorial

"

The above is the detailed content of What signals does linux have?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn