请问如何在代码中退出workerman?

dignfei

比如我需要开50个进程,并发处理1000条任务,处理完成后自动关闭退出,怎么办吧?

1625 1 0
1个回答

blogdaren

条件满足后调用: Worker::stopAll() 即可

  • dignfei 2020-10-13

    这个只是重启,不会退出

  • blogdaren 2020-10-13

    stopAll()确实代表子进程重启,那你意思是希望全部进程退出? 那直接用posix_kill给主进程发送SIGINT信号即可,不过不知道这样做有啥意义。

  • dignfei 2020-11-12

    @614:有意义,比如用workerman做ws客户端,接收数据后需要退出。请问怎么l给主进程发送SIGINT信号?

  • blogdaren 2020-11-13

    @6279: posix_kill($master_pid, SIGINT) 就好啦

  • dignfei 2020-11-17

    @614:运行之后,会继续执行Worker::runAll();之后的代码吗

  • dignfei 2020-11-17

    @614:$master_pid 怎么获得?

  • blogdaren 2020-11-17

    1、workerman对于写在Worker::runAll()之后的代码永远都执行不到;
    2、方法很多了,最简单的比如: posix_getppid()

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