Linux 信号signal

1. 信号的基本概念

    联系现实生活中的信号,我们可以理解为:Linux中的signal其实就是一种标志,操作系统知道这个标志代表着什么含义,以及知道遇见这个标志它应该采取怎样的动作。(如红灯信号,你知道红灯信号代表着不能通过马路,而你采取的动作就是等待)

1.1 信号的分类:

使用kill -l : 可以查看系统定义的信号列表。


总共有62种信号。1-31号信号称为普通信号,34-64号信号称为实时信号。

每个信号都有一个编号和一个宏定义的名称,这些宏定义可以在/usr/include/signal.h中找到。

以1号信号为例,它的宏定义为:#define SIGHUP 1

1.2 信号的常见处理方式
  • 忽略信号
  • 执行默认的信号处理动作
  • 捕捉信号。提供一个信号处理函数,要求内核在处理信号时切换至用户态执行这个处理函数
2. 产生信号

信号通过以下三种方式产生,下面分别进行介绍:

2.1 通过终端按键产生信号

用户在终端按下某些键的时候,终端驱动程序会发送信号给前台进程。比如:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值