免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3992 | 回复: 18
打印 上一主题 下一主题

请教:怎样使用signal [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-15 14:44 |只看该作者 |倒序浏览
怎样使用signal进行进程之间的信号传递,比如一个子进程有错,发信号给父进程,父进程再创建另一子进程?

论坛徽章:
0
2 [报告]
发表于 2003-05-15 17:29 |只看该作者

请教:怎样使用signal

参考<UNIX高级编程>;里面有详细的说明。

论坛徽章:
0
3 [报告]
发表于 2003-05-15 18:25 |只看该作者

请教:怎样使用signal

man signal 7
man signal 3或是man sigaction
看看signal函数及系统中每个信号的说明
编程中你能使用的只是siguser1 siguser2
在google上会找到许多例子

论坛徽章:
0
4 [报告]
发表于 2003-05-22 11:30 |只看该作者

请教:怎样使用signal

最后我使用了如下方法:
  1.    struct sigaction usr_action;
  2.       sigset_t block_mask;
  3.       /*初始化信号句柄*/
  4.       sigfillset(&block_mask);
  5.       usr_action.sa_handler=sig_usr;/*指定与信号相关连的动作*/
  6.       usr_action.sa_mask=block_mask;
  7.       usr_action.sa_flags=0;
  8.       /*为信号SIGUSR1和SIGUSR2指定动作*/
  9.       sigaction(SIGUSR1,&usr_action,NULL);
  10.       sigaction(SIGUSR2,&usr_action,NULL);

  11.       if(signo==SIGUSR1)
  12.         { /*printf("received SIGUSR1 \n");*/
  13.            /*创建新的子进程*/
  14.                   }
  15.       else if(signo==SIGUSR2)
  16.          {  /*printf("received SIGUSR2");*/
  17.             /*创建新的子进程5*/
  18.            }
复制代码

论坛徽章:
0
5 [报告]
发表于 2003-05-22 11:39 |只看该作者

请教:怎样使用signal

请问使用上述代码能够创建和死掉的进程一样的新进程吗

论坛徽章:
0
6 [报告]
发表于 2003-05-22 11:51 |只看该作者

请教:怎样使用signal

你可以在信号到后将挂起的进程激活

论坛徽章:
0
7 [报告]
发表于 2003-05-22 12:22 |只看该作者

请教:怎样使用signal

我想用父进程监视子进程如果发现一个子进程死掉了,则马上创建一个子进程以保持子进程的个数不变。我应该怎么写请帮帮忙

论坛徽章:
0
8 [报告]
发表于 2003-05-22 12:36 |只看该作者

请教:怎样使用signal

那有sigaction使用方法的具体例子

论坛徽章:
0
9 [报告]
发表于 2003-05-22 12:39 |只看该作者

请教:怎样使用signal

你没看见吗我也是个UNIX新手,问问老大版主吧
我对这方面也很有兴趣,现在在思考循环的问题,主要实现很多子进程就像员工送外卖一样,父进程就是管理者,大家一起去送,谁回来了在去送下一份。外卖一共有N份,送完了大家都休息。
你对这方面有什么看法?交流一下

论坛徽章:
0
10 [报告]
发表于 2003-05-22 12:39 |只看该作者

请教:怎样使用signal

父进程监视子进程如果发现一个子进程死掉了
子进程退出时会发sigchild信号给父进程
父进程使用wait或是waitpid得到子进程退出状态

例子可以在google上找到
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP