进程学习:进程间通信(传统通信方式)3.信号

信号是一个异步通信(意思就是忽略程序执行的先后顺序),大白话就是你别管我,我在呢,你该干啥就干啥,等到信号来时,我会蹦出来处理信号的;

常用到的信号函数:
kill:向指定进程发送一个信号;
raise:向当前进程发送一个信号;
alarm:给当前进程设置一个定时器;
pause:阻塞等待,直到当前进程收到一个信号为止;
signal:捕获一个信号,并执行用户自定义的信号处理程序,或执行忽略(SIGIGN)操作,或执行默认(SIGDFL)操作;

signal函数原型:
void (* siganal(int signo, void (*func)(int) ))( int )
好复杂啊,有木有?下面来解析一下它,其实没那么难;

这里写图片描述

下面来弄一个实例:看看信号程序传参过程:
这里写图片描述
图中 SIGINT 是 Ctrl + c

不能被忽略和被捕捉的信号:SIGKILL SIGSTOP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值