`kill -9 之间的区别` 和 `kill -INT`?

`kill -9 之间的区别` 和 `kill -INT`?

我不明白两者之间有什么区别

kill -9 <pid>

kill -INT <pid>

谁能像我三岁一样给我解释一下?

答案1

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.它们都略有不同,但大多数都支持上述示例。

大多数终止命令都有一个-l-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

相关内容