2017-03-24 53 views
0

我使用的lib:PHP多線程套接字服務器的子線程不會死

https://github.com/lukaszkujawa/php-multithreaded-socket-server

,加入退出後(0);在客戶端斷開連接後,我最終得到了大量名爲[php-cgi]的進程堆積起來,直到主服務器退出時纔會退出。

我一直試圖讓這個工作一個星期,現在我不知所措。我已經評論了一個問題:https://github.com/lukaszkujawa/php-multithreaded-socket-server/issues/7

但我想我會在這裏發佈,並希望得到這個修復。

謝謝:)

回答

0

好吧,我有一個解決方法,希望它沒有任何長期的不良後果。

在 「的onConnect」 函數I進行了如下修改:

if ($pid == -1) { 
    _echo('could not fork'); 
    die(); 
} else if ($pid) { 
    // parent process handles client 
} else { 
    return;// new child handles next connection 
} 

而加入 「退出(0);」在函數的最後。

內存看起來很穩定,連接關閉後沒有多餘的線程。