较弱的杀死信号-HUP(1)-INT(2)和-TERM(15)之间的差异

肯尼

除了最猛烈的kill -9(SIGKILL),我不太了解其他3个常见信号(之间的差别在这里-HUP(1),-INT(2)和-TERM(15)。

在哪种情况下一种可行,而另一种不可行?

通常,-9-KILL)什么时候失败?

对我来说,他们似乎要问要终止的进程正常不保存我要对严酷程度进行评估-HUP < -TERM < -INT < -KILL

吉勒斯“别再邪恶了”

重点是SIGKILL不会杀死正在运行的进程。存在其他信号,使应用程序有机会做出反应。

SIGINT,SIGTERM,SIGQUIT和SIGHUP的默认行为是终止程序。但是,允许应用程序为这些信号安装处理程序。因此,应用程序在收到这些信号时的实际行为是一个约定(每个应用程序可能会也可能不会遵循),而不是系统设计。

SIGINT是其中的“最弱者”。它的常规含义是“停止您现在正在做的事情,并等待进一步的用户输入”。是终端中Ctrl+产生的信号C非交互式程序通常将其像SIGTERM一样对待。

SIGTERM是“正常”的终止信号。它告诉应用程序干净退出。该应用程序可能需要花费一些时间来保存其状态,以释放资源,例如本来可以保留的临时文件等。在关键应用程序中不希望被中断的应用程序可能会暂时忽略SIGTERM。

SIGHUP在苛刻性方面与SIGTERM大致相同,但是它具有特定的作用,因为当用户与该终端断开连接时,它会自动发送给在该终端上运行的应用程序(从语言上来说,这是因为用户正在通过电话线和调制解调器进行连接)挂了)。与必须显式发送的SIGTERM不同,SIGHUP通常是非自愿的,因此应用程序应尝试将其状态保存在SIGHUP上。对于非面向用户的应用程序(守护程序),SIGHUP也具有完全不同的常规含义,即重新加载其配置文件。

SIGQUIT是可燃信号中最苛刻的信号。它应在应用程序行为异常并需要立即终止时使用,并且默认情况下,它传统上会保留一个核心转储文件(现代系统中,大多数用户不知道核心文件倾向于默认情况下不生成它们) 。应用程序可以设置一个处理程序,但应该做的很少(特别是不保存任何状态),因为在出​​现严重错误时将使用SIGQUIT的意图。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

&>>&和2>&1之间的重定向差异

来自分类Dev

自定义systemd服务失败,结果为“信号”状态= 1 / HUP

来自分类Dev

$ 1,$ {1}和$“ 1”在awk之间的差异

来自分类Dev

用1和0初始化的信号量之间的差异

来自分类Dev

信号和呼叫顺序图之间的差异

来自分类Dev

(“ v” 1)和(“ v” 1)之间的差异

来自分类Dev

0..3和[0,1,2] .iter()之间的差异

来自分类Dev

ldexp(1,x)和exp2(x)之间的差异

来自分类Dev

int(r / 2)和r // 2输出之间的差异

来自分类Dev

htop杀死信号有哪些不同?

来自分类Dev

TSTP在杀死信号方面代表什么?

来自分类Dev

Visual Studio 版本 15.0 和 15.x 之间的差异

来自分类Dev

'(unsigned)1'和'(unsigned)〜0'之间的差异

来自分类Dev

查找被信号15杀死的命令

来自分类Dev

int((n + 1)/ 2)和(n + 1)// 2之间的区别是什么?

来自分类Dev

{1,2,3}与{1..3}之间的差异

来自分类Dev

在Scala中def f(x:Int)= x + 1和val f =(x:Int)=> x + 1之间的实际差异

来自分类Dev

均值(c(1,2,21))和均值(1,2,21)之间的差异

来自分类Dev

[[expr1 ||之间的差异 expr2]]和[[expr1]] || [[expr2]]

来自分类Dev

红宝石中a = 1,b = 2和a = 1(换行符)b = 2之间的差异

来自分类Dev

1个共享vCPU和1个vCPU之间的差异

来自分类Dev

1:10和c(1:10)之间的差异

来自分类Dev

(n&1)和n&1之间的差异

来自分类Dev

查找命令中ctime 1和ctime +1之间的差异

来自分类Dev

备份MBR时,计数= 2的dd和对应块大小的count = 1之间是否存在差异?

来自分类Dev

在哪里可以准确了解 symfony v1 和 v2 更改之间的差异?

来自分类Dev

如何从 string_1 和 string_2 之间的差异生成 string_3?

来自分类Dev

"int a, b;" 之间的性能差异 和“int a; int b;”?

来自分类Dev

i ++和i = i + 1之间的原子性差异

Related 相关文章

  1. 1

    &>>&和2>&1之间的重定向差异

  2. 2

    自定义systemd服务失败,结果为“信号”状态= 1 / HUP

  3. 3

    $ 1,$ {1}和$“ 1”在awk之间的差异

  4. 4

    用1和0初始化的信号量之间的差异

  5. 5

    信号和呼叫顺序图之间的差异

  6. 6

    (“ v” 1)和(“ v” 1)之间的差异

  7. 7

    0..3和[0,1,2] .iter()之间的差异

  8. 8

    ldexp(1,x)和exp2(x)之间的差异

  9. 9

    int(r / 2)和r // 2输出之间的差异

  10. 10

    htop杀死信号有哪些不同?

  11. 11

    TSTP在杀死信号方面代表什么?

  12. 12

    Visual Studio 版本 15.0 和 15.x 之间的差异

  13. 13

    '(unsigned)1'和'(unsigned)〜0'之间的差异

  14. 14

    查找被信号15杀死的命令

  15. 15

    int((n + 1)/ 2)和(n + 1)// 2之间的区别是什么?

  16. 16

    {1,2,3}与{1..3}之间的差异

  17. 17

    在Scala中def f(x:Int)= x + 1和val f =(x:Int)=> x + 1之间的实际差异

  18. 18

    均值(c(1,2,21))和均值(1,2,21)之间的差异

  19. 19

    [[expr1 ||之间的差异 expr2]]和[[expr1]] || [[expr2]]

  20. 20

    红宝石中a = 1,b = 2和a = 1(换行符)b = 2之间的差异

  21. 21

    1个共享vCPU和1个vCPU之间的差异

  22. 22

    1:10和c(1:10)之间的差异

  23. 23

    (n&1)和n&1之间的差异

  24. 24

    查找命令中ctime 1和ctime +1之间的差异

  25. 25

    备份MBR时,计数= 2的dd和对应块大小的count = 1之间是否存在差异?

  26. 26

    在哪里可以准确了解 symfony v1 和 v2 更改之间的差异?

  27. 27

    如何从 string_1 和 string_2 之间的差异生成 string_3?

  28. 28

    "int a, b;" 之间的性能差异 和“int a; int b;”?

  29. 29

    i ++和i = i + 1之间的原子性差异

热门标签

归档