子进程是一个阻塞调用,而且是不能修改的,那怎么在信号到来的时候分发信号啊
大部分系统调用都是阻塞的,进程在收到信号以后信号会中断系统调用, 通过 pcntl_signal_dispatch 来检测信号并分发信号。
我的阻塞并不是系统调用,而是rabbitmq的消费者的阻塞消费方法,用的扩展是amqp,现在我想使用信号平滑关闭它
没有什么关系吧,你这里的阻塞也只是业务同步阻塞等待消费,属于业务范畴呢,信号和进程属于系统级别,信号来了,注册平滑信号以及处理函数,然后检测信号触发信号处理函数关闭进程就可以了啊。
大部分系统调用都是阻塞的,进程在收到信号以后信号会中断系统调用, 通过 pcntl_signal_dispatch 来检测信号并分发信号。
我的阻塞并不是系统调用,而是rabbitmq的消费者的阻塞消费方法,用的扩展是amqp,现在我想使用信号平滑关闭它
没有什么关系吧,你这里的阻塞也只是业务同步阻塞等待消费,属于业务范畴呢,信号和进程属于系统级别,信号来了,注册平滑信号以及处理函数,然后检测信号触发信号处理函数关闭进程就可以了啊。