Kill

kill -9 <pid>kill -INT <pid>之間的區別?

  • October 26, 2017

我無法弄清楚兩者之間有什麼區別

kill -9 <pid>

kill -INT <pid>

誰能像我3歲一樣向我解釋一下?

kill -INT $pid向具有程序 ID 的程序發送“中斷”信號pid。但是,該程序可能決定忽略該信號,或者在退出和/或忽略它之前擷取該信號並執行某些操作。

kill -9 $pid發送無法擷取或忽略的“kill”信號。該程序將被強制關閉,而不會通知該程序,也沒有機會進行任何清理。 kill -9 $pid幾乎不應該推薦或使用,儘管有時它是必要的。

高級概念

kill -INT $pid是一樣的kill -2 $pid

kill -9 $pid是相同的kill -KILL $pid

該命令有許多版本kill。大多數 shell(ksh、bash、dash 等)都有內置kill命令,並且在/bin/kill. 它們都略有不同,但大多數都支持上述範例。

大多數 kill 命令都有一個-lor-L選項來列出信號:

$ /bin/kill -L
1 HUP      2 INT      3 QUIT     4 ILL      5 TRAP     6 ABRT     7 BUS
8 FPE      9 KILL    10 USR1    11 SEGV    12 USR2    13 PIPE    14 ALRM
15 TERM    16 STKFLT  17 CHLD    18 CONT    19 STOP    20 TSTP    21 TTIN
22 TTOU    23 URG     24 XCPU    25 XFSZ    26 VTALRM  27 PROF    28 WINCH
29 POLL    30 PWR     31 SYS     
$

閱讀信號的好地方是手冊第 7 節中的“信號”手冊頁:man 7 signal.

引用自:https://unix.stackexchange.com/questions/399438