阻塞调用的子进程里如何处理信号

qhmc7458

子进程是一个阻塞调用,而且是不能修改的,那怎么在信号到来的时候分发信号啊

2337 1 0
1个回答

phpcreeper

大部分系统调用都是阻塞的,进程在收到信号以后信号会中断系统调用, 通过 pcntl_signal_dispatch 来检测信号并分发信号。

  • qhmc7458 2019-04-02

    我的阻塞并不是系统调用,而是rabbitmq的消费者的阻塞消费方法,用的扩展是amqp,现在我想使用信号平滑关闭它

  • phpcreeper 2019-04-02

    没有什么关系吧,你这里的阻塞也只是业务同步阻塞等待消费,属于业务范畴呢,信号和进程属于系统级别,信号来了,注册平滑信号以及处理函数,然后检测信号触发信号处理函数关闭进程就可以了啊。

年代过于久远,无法发表回答
×
🔝