比如下面代碼
$worker1 = new Worker('http://0.0.0.0:8080');
$worker1->count = 2;
$worker2 = new Worker('http://0.0.0.0:9090');
$worker2->count = 2;
實際效果是一個主進程監(jiān)聽8080 9090,4個子進程,2個子進程監(jiān)聽8080,另外2個子進程監(jiān)聽9090。
主進程fork子進程后會繼承主進程的8080 9090監(jiān)聽,比如worker1子進程監(jiān)聽的是8080,fork進程后就要把9090 unlisten掉,否則worker1子進程就同時監(jiān)聽8080 9090了,和期待不符。