04.linux命令-kill pid和kill -9 pid
阿新 • • 發佈:2019-01-12
今天學習到關於程序的一些東西,然後百度了下kill。以前我們在測試時也會用到kill的命令去殺程序,有的時候會用kill -9,但從沒想過這兩者的區別。今天算是明白了一點吧,以後如果有什麼領悟,會再做補充。
1)kill
[[email protected] opt]# kill
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
2)kill -l
-s 指定傳送的訊號
pid是要終止的程序編號
sigspec表示訊號
通過kill -l可以看到所有的訊號變數,
[[email protected] 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會用這個命令。