当前位置:  技术问答>linux和unix

关于Linux下信号处理的一个问题,请大家帮忙看看!

    来源: 互联网  发布时间:2015-10-09

    本文导语:  我初学Linux,遇到了一个信号处理的问题,请高手指教: void auto_do_0(int signo) {         job0;         ...... } void auto_do_1(int signo) {         job1;         ...... } void on_time_do_0(void) {         struct sig...

我初学Linux,遇到了一个信号处理的问题,请高手指教:
void auto_do_0(int signo)
{
        job0;
        ......
}

void auto_do_1(int signo)
{
        job1;
        ......
}

void on_time_do_0(void)
{
        struct sigaction act;

        act.sa_handler = auto_do_0;
        act.sa_flags = 0;
        sigemptyset(&act.sa_mask);
        sigaction(SIGALRM, &act, NULL);

        settimer(...);
}

void on_time_do_1(void)
{
        struct sigaction act;

        act.sa_handler = auto_do_1;
        act.sa_flags = 0;
        sigemptyset(&act.sa_mask);
        sigaction(SIGALRM, &act, NULL);

        settimer(...);
}

int main(void)
{
        ......
        on_time_do_0();
        on_time_do_1();
        ......
}

执行后,程序只做了on_time_do_1(),而前一个on_time_do_0()没有做,请问要怎样写才能使两个定时触发的操作都执行?
谢谢!

|
又看一下LZ的程序,LZ只用了一个信号SIGALRM,所以后面的设置有效,前面的被盖掉。

|
int kill(pid_t pid, int sig);
void (*signal(int signum, void (*sighandler)(int)))(int);

|
老大我晕了,SIGALRM是一个宏定义,其实它是一个整数,系统提供了两个用户信号usr1和usr2.但是具体怎么定义我不清楚了,你去查一下不就知道了吗?你能找到SIGALRM,也能找到这两个信号.好象是SIG_USR1 SIG_USR2

|
使用一个信号,在对应的处理中设计两个长度不同的计数器,不就可以了吗

|
系统定时这个我没去注意,不过可以提醒LZ,是不是系统只能有一个定时,后面的定时会把前面的盖掉?

|
SIGALRM是一个宏定义是个整数,setitimer怎么可能只以发这个信号呢?难道这个函数内部还要去
检查这个值吗???那是不可能的.还有很多方法的.先把这个问题搞定再说别的.
楼上的是一个办法.

    
 
 

您可能感兴趣的文章:

  • 关于linux内核中信号处理的问题?(信号处理的时间)
  • 请高手指教 linux 信号处理问题
  • linux信号处理程序
  • linux的信号处理函数中如何访问共享资源
  • Linux,aix,windows下可以查询非本进程的信号处理函数吗?
  • linux下类的成员函数不可以作为自定义的信号处理函数么?
  • linux编程中简单的信号处理问题,请教各位,谢谢。
  • linux信号处理问题SIGPIPE
  • HP-UX移植到RedHat Linux过程中的多线程和信号处理
  • linux 下多线程 每个线程能否使用alarm来处理,信号是否会乱呢?
  • 求助:linux信号处理的默认函数宏定义怎么理解呢?
  • linux 信号及信号处理
  • Linux对信号的处理
  • linux 信号捕捉和处理的问题~~~在线等
  • 学习linux的新手问:linux进程信号掩码以及信号阻塞与信号未决怎么理解?
  • linux 中信号量的使用 当信号初始化的时候设置的值大于1将是如何?
  • 【求助】linux/Unix下创建子进程,向父进程发送信号,子进程也能收到改信号,此时如何让子进程不收到信号
  • Linux下的信号忽略和信号阻塞是什么意思
  • linux 信号中断
  • linux 信号 按什么键能发SIGCONT 信号??
  • linux中 关于 进程和信号的问题
  • 如何使用命令行删除Linux下的POSIX有名信号灯
  • linux多线程信号问题
  • linux下面的信号都已经是"可靠信号"了吗,已经没有了不可靠信号?
  • linux 只有SIGUSR1和SIGUSR2,如果有多个应用程序需要信号,怎么办?
  • 在linux下怎么使用信号量?
  • 关于Linux下的信号量
  • linux 下信号机制问题
  • 请问那些linux信号是不能捕捉的?
  • linux下信号的问题。。
  • 请问下,在嵌入式linux驱动里面可不可以用信号量?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux!我来了------我是新人,还请大家多多帮忙
  • 装linux遇到问题,有高手在线帮忙吗?请发信息给我
  • 各位,帮忙推荐几本深入学习Linux的书!!!
  • 请问想学linux,请帮忙推荐一本好书?
  • 关于linux裁剪内核,越小越好。大家多多帮忙。
  • 我的linux声卡装不上,达人帮忙!
  • linux下的串口编程比较熟悉,麻烦帮忙!
  • 高手帮忙!linux初次安装的问题?
  • 高手们快来帮帮忙啊,,好郁闷!!!LINUX 9.0装不上的问题!
  • 帮忙推荐一本linux编程的好书!!!
  • 大家帮忙,推荐个好版本的Linux
  • 急!高手帮忙!cximage库在Linux下运行使用的问题。
  • 帮忙推荐个linux
  • linux的网络访问?请帮忙!
  • ★★★在linux下编译pro*c文件,提示"sqlcxt"没有定义,哪位高手帮忙,定赠分!
  • 急!大家帮帮忙!有哪些视频点播系统能在在LINUX下安装以及怎样安装!
  • 急!大家帮帮忙!有什么视频点播系统能在LINUX下安装,以及怎样安装!!
  • 请各位帮忙推荐几本Linux多进程编程的好书
  • 升级Linux的问题,急!请高手帮忙!
  • Linux学习,高手帮忙
  • linux c/c++ IP字符串转换成可比较大小的数字
  • linux 信号及信号处理 iis7站长之家
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3