异步通讯方式--信号

发送信号--对另一个进程来说,不可预知

  指定发给某pid,某个信号  kill

  指定发给当前进程,某个信号 raise

  指定时间产生SIGALARM信号  alarm

  指定超时信号  getitimer


安装中断--设置某个进程到来时的处理方式

signal安装中断
signal( 某信号_sig,myhandler);-----||---void myhandle(int signo) {……}  // args-捕获信号值,do-信号处理;
sigaction安装中断
有两种信号处理函数供选择,二选一:
 act.sa_handler = myhandler1;
----------------------------------------------void myhandler1(int signo) {……}  // args-捕获信号值;
或 act.sa_sigaction = myhandler2;
----------------------------------------------void myhandler2(int signo,siginfo *info,void *p) {……} // args-捕获信号值、信息表、被中断的进程或线程的上下文的指针;

extern int sigaction(某信号_sig,现在的安装&act,执行此函数前的安装信息&ocat);

信号集合、屏蔽信号

获取当前未决信号
extern int sigpending (sigset_t  *_set);
信号集合操作
extern int sigemptyset(sigset_t  *_set);
extern int sigfillset(sigset_t *_set);

……

等待信号

pause();




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值