многопоточность — WebSocket, pcntl_fork, правильно закрыть дочерний процесс

Я устанавливаю трещотку php websocket.
Я делаю pcntl_fork в методе onMessage для работы с каждым клиентом в новом потоке.

public function onMessage(ConnectionInterface $from, $msg) {

$pid = pcntl_fork();
if ($pid == -1) {
$this->myPrint("cant create fork");
} else if ($pid) {

} else {
// ..... $result
$from->send($result);
// $pid = getmypid();
// exit($pid);

}

}

если я пытаюсь закрыть дочерний процесс, клиент не получает никакого сообщения. ($ from-> send ($ result) не работает).
если я комментирую выход ($ pid). Клиент получает сообщение.

Как правильно закрыть дочерний процесс?

образ

я пытался сделать выход с:

function _exit() {
posix_kill(posix_getpid(), SIGTERM);
}

но у меня все еще есть проблема

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]