Why do you need to sleep after the kill process in the script?

table of Contents

Preface

In some restart scripts, we can often see that after killing the process, it will sleep for a period of time. Why? Next, let us study


the reason

We know that the kill command sends a specified signal to the corresponding process. The working principle of the kill command is to send a system operation signal and the process identification number of a program to the kernel of the Linux system, and then the system kernel can specify the process identification number Process to operate. We usually use 15 (SIGTERM) and 9 (SIGKILL), there is no information number, the default is 15

The meaning of 9 and 15:

9 (KILL):杀死一个进程,强行终止一个进程,这可能会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。

15 (TERM):正常停止一个进程,这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源,相当于让进程正常终止。

From this, we can infer that the kill process does not take effect immediately, but has a certain delay.

Among all kill signals, except for 9 to terminate the process unconditionally, other signals may be blocked or ignored, and even for signal 9, it will be placed in the pending queue first, and will not take effect until the next CPU scheduling, so generally After we kill the process, we will sleep for a while to ensure that the process is killed, otherwise the process may not be killed and the restart will fail.

Extra: we can use kill -l to view all kill signal values

 kill -l
 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	

Guess you like

Origin blog.csdn.net/qq_36551991/article/details/109825755