Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > signal 的讨论
【标  题】:signal 的讨论
【关键字】:signal
【来  源】:http://www.cublog.cn/u/25334/showart.php?id=278057

signal 的讨论

Your Ad Here #include <signal.h> 
Void (*signal(int signo, void (*func)(int)))(int);
 
返回值是之前的signal处理函数,错误返回SIG_ERR 
1. Signo:signal的名称
2. Func:函数地址,或者是SIG_IGN(忽略Signal)或SIG_DFL(缺省行为)。原型为:void (*)(int)。不过很多UNIX的实现也会传入一些和实现相关的参数。

######################################################################

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void sig_quit(int signo)
{
    printf("caught SIGQUIT\n");
    signal(SIGQUIT, SIG_DFL);
    return ;
}
int main(int argc, char *argv[])
{
    unsigned int unslept;
    signal(SIGQUIT, sig_quit);
    while(1);
    return 0;
}
$a.out
^\
caught SIGQUIT
^\Quit

####################################################################

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void sig_quit(int signo)
{
    printf("caught SIGQUIT\n");
    return ;
}
int main(int argc, char *argv[])
{
    unsigned int unslept;
    signal(SIGQUIT, sig_quit);
    while(1);
    return 0;
}
$a.out
^\caught SIGQUIT
^\caught SIGQUIT
^\caught SIGQUIT
^\caught SIGQUIT

##################################################################

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void sig_quit(int signo)
{
    printf("caught SIGQUIT\n");
    printf("caught SIGQUIT\n");//有无结果一样
    return ;
}
int main(int argc, char *argv[])
{
    unsigned int unslept;
    signal(SIGQUIT, sig_quit);
    unslept = sleep(20);
    printf("unslept time = %u\n", unslept);
    return 0;
}
$a.out
^\caught SIGQUIT
unslept time = 19

###############################################################

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

int main(int argc, char *argv[])
{
    unsigned int unslept;
   
printf("caught SIGQUIT\n");
    unslept = sleep(20);
    printf("unslept time = %u\n", unslept);
    return 0;
}
$a.out
^\Quit





 

How to Quiesce a Database:【上一篇】
OFBIZ开源电子商务学习心得:【下一篇】
【相关文章】
  • boost源码剖析之:多重回调机制signal(上)
  • boost源码剖析之:多重回调机制signal(下)
  • 2.2深入信号和槽(Signals and Slots in Depth)
  • kernel_notes -- signal
  • Signal--几近崩溃
  • 一个signal的例子
  • Nebula2探秘10-Signal System
  • 几个关于Gobject signal的BUG
  • AOP, Signal/Slot, and Decoupling
  • Linux程序设计入门 - fork, pthread, and signals
  • 【随机文章】
  • 3.2 DS和[address]
  • [workflow|Visual Studio]多个工作流任务表单如何与工作流步骤关联
  • JAVA读写ORCALE CLOB字段
  • unix第一天
  • C/C++中嵌入Lua--转自bbs.luachina.net
  • C++ Builder 相关
  • 【分享】11月09日 精品软件更新
  • autofs用户指南
  • Hibernate 入门(2)
  • 类的深入研究
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.