04.linux命令-kill pid和kill -9 pid

今天学习到关于进程的一些东西,然后百度了下kill。以前我们在测试时也会用到kill的命令去杀进程,有的时候会用kill -9,但从没想过这两者的区别。今天算是明白了一点吧,以后如果有什么领悟,会再做补充。
1)kill

[root@cent-1 opt]# kill
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

2)kill -l
-s 指定发送的信号
pid是要终止的进程编号
sigspec表示信号
通过kill -l可以看到所有的信号变量,

[root@cent-1 opt]# 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

3)kill pid

kill pid和kill -s 15 pid含义一样,表示发送一个SIGTERM的信号给对应的程序。程序收到该信号后,将会发生以下事情,

1 程序立刻停止

2 程序释放相应资源后立刻停止

3 程序可能仍然继续运行

大部分程序在接收到SIGTERM信号后,会先释放自己的资源,然后再停止。但也有一些程序在收到信号后,做一些其他事情,并且这些事情是可以配置的。也就是说,SIGTERM多半是会被阻塞,忽略的。
kill -9 pid
kill -9 pid等于kill -s 9 pid,表示强制,尽快终止一个进程。多半admin会用这个命令。

猜你喜欢

转载自blog.csdn.net/weixin_43851795/article/details/85038948
PID