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

求助,进程池中信号问题

    来源: 互联网  发布时间:2017-04-06

    本文导语:  我编写了一个进程池的服务器程序,父进程fork出多个子进程,父进程负责accept客户端发来的请求,然后发送信号到空闲的子进程中,子进程接到信号,进行这个通讯连接的处理动作。 现在的问题是:父进程接收到客...

我编写了一个进程池的服务器程序,父进程fork出多个子进程,父进程负责accept客户端发来的请求,然后发送信号到空闲的子进程中,子进程接到信号,进行这个通讯连接的处理动作。
现在的问题是:父进程接收到客户端的请求后,向处于pause()中的子进程发送SIGUSR1信号成功后,子进程仍然不执行下面的处理函数,应该是还在挂起状态中,不知道为何。
子进程:

signal(SIGUSR1, SIG_IGN);
sigfillset(&sigset)
sigdelset(&sigset, SIGUSR1);
sigdelset(&sigset, SIGTERM);
sigprocmask(SIG_BLOCK, &sigset, NULL);

while(1) {
  pause();
  TcpsssThread  //子进程处理函数 总是执行不到这里
  ....
}
对信号了解不深,各位帮帮忙!!!

|
SIGUSR1都被你block了,,肯定没法唤醒了... 同时又被你SIG_IGN忽略了,(这种情况没试过会不会唤醒sleep进程,自己试验.)
推荐一个函数, man 3 sigwait ,剩下的自己看吧,

SIGWAIT(3)                 Linux Programmer's Manual                SIGWAIT(3)

NAME
       sigwait - wait for a signal

SYNOPSIS
       #include 

        int sigwait(const sigset_t *set, int *sig);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       sigwait(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE

DESCRIPTION
       The  sigwait()  function suspends execution of the calling thread until
       the delivery of one of the signals specified in  the  signal  set  set.
       The  function  accepts  the signal (removes it from the pending list of
       signals), and returns the signal number in sig.

|
先不说信号,假定子进程可以成功执行。
父进程accept之后,子进程如何处理这个连接??

    
 
 

您可能感兴趣的文章:

  • 我想让vfork后就execl一进程,同时让execl出来的进程之间能相互通信,求助
  • 求助:信号 --13 进程中断
  • 【求助】多进程中 内核信号量无效?
  • 关于僵死进程,求助
  • 新人求助,进程调度的问题.
  • 求助 linux进程管理
  • linux下进程并发问题。急!!!求助!!!
  • 菜鸟求助, Linux进程的问题
  • 紧急求助,关于kill进程 , 大家帮帮忙啊 !!!
  • [求助]查看监听端口所属进程问题
  • 求助:怎样获得freebsd中的进程pid?
  • ■■求助■■ 如何查看一个进程拥有的线程数量???
  • 求助: 进程调度内核分析
  • 求助(SHELL 脚本)进程的唯一性检查
  • [求助]popen 函数引起 shell 调用, sh 成为僵尸进程.
  • 【求助】linux/Unix下创建子进程,向父进程发送信号,子进程也能收到改信号,此时如何让子进程不收到信号
  • 求助:父进程被kill掉以后,子进程在任务表中所占内存是怎样释放的?
  • 求助:AIX5L,如何得到被某个进程打开的文件名称?
  • [求助]在hp-unix如何删除本进程的环境变量。
  • 求助:在什么情况下需要用到进程编程?谢谢!
  • 求助一些关于信号量的问题
  • 无线网卡如果指定接收了一个AP发出的信号(通过指定ESSID),能同时接受到另一个AP发出的信号么?50分求助
  • *** 求助!!! 关于(可靠)信号处理的问题 ***
  • [求助]如何让阻塞的信号量、recvfrom退出?
  • 求助啊,信号方面的问题
  • 想在LINUX下读取802.11网卡的信号强弱信息,以作为切换的依据,有做过的么?50分求助
  • 在线求助!关于如何使用“信号”的方式来响应键盘按下的消息!在线急盼回复!
  • 求助啊~ 关于信号的。。。。。。。。。
  • 紧急求助:关于线程中接收alarm信号的问题
  • 求助:linux信号处理的默认函数宏定义怎么理解呢?
  • socket实现多文件并发传输,求助多线程实现问题? iis7站长之家
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • module的问题.版本问题 求助
  • 求助关于linux和windows引导lilo的问题
  • 求助~~求助 ~~linux文件读写问题
  • 求助! 又出现问题了!
  • 一个简单的问题,高分求助!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • socket实现多文件并发传输,求助多线程实现问题?
  • 各位大侠,求助一个关于ubuntu系统的问题
  • 100分求助,Ubuntu安装问题
  • linux的 iptables问题求助
  • 100分求助:关于linux下配置sendmail的问题
  • 急求助!安装linux后重装windows的问题
  • QT中关于方向键控制焦点的问题(求助)
  • 求助关于__cdecl的使用问题
  • 求助: 在ubuntu11.04上的有线连接问题
  • 急!!!小弟刚刚接触linux 在线求助<很简单的问题>
  • 求助: RedHat as4 内网正常,无法访问外网的问题!
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!


  • 站内导航:


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

    ©2012-2021,