国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

pcntl_wait($status)一直獲取不到子進(jìn)程退出狀態(tài),造成父進(jìn)程一直卡住。

xiaopi

問題描述

我試著參考workerman的多進(jìn)程編程思想,手動寫一個簡單的多進(jìn)程處理,但是遇到了很奇怪的問題。
pcntl_wait()一直等不到子進(jìn)程退出消息,造成父進(jìn)程卡住一直不退出。謝謝大佬給指點一下。

php版本:PHP 7.2.34 (cli) (built: Oct 1 2020 13:37:37) ( NTS )

<?php
 //fork一個子進(jìn)程
$processIds = [];
$i = 0;
$processIds[$i] = pcntl_fork();
switch ($processIds[$i]) {
    case -1:
        echo 'fork failed!';
        exit;
    case 0:
        //子進(jìn)程處理

        echo "子進(jìn)程:" . posix_getpid();
        exit;
    default:
        echo "父進(jìn)程:" . posix_getpid();
        break;
}

// 父進(jìn)程執(zhí)行到這里就一直卡住,一直收不到子進(jìn)程的退出
pcntl_wait($status);
//while (count($processIds) > 0) {
//    // 阻塞等待任意子進(jìn)程,與pcntl_wait
//    //$myPid = pcntl_waitpid(-1, $status, WNOHANG);
//
//    foreach ($processIds as $key => $pid) {
//        if ($myPid == $pid || $myPid == -1) {
//            unset($processIds[$key]);
//        }
//    }
//}

// 這里始終執(zhí)行不到
echo "父進(jìn)程退出";

輸出如下

[root@telrobot-test-server-0002 ~]# php demo.php
父進(jìn)程:29078子進(jìn)程:29082

執(zhí)行后進(jìn)程情況:
截圖

我找了很多資料,很多方法,這個腳本是沒有問題的啊。為什么父進(jìn)程不能執(zhí)行完畢。難道是我pcntl擴(kuò)展有問題,或者是php版本有問題?

1226 1 0
1個回答

xiaopi

經(jīng)過排查,是php安裝了grpc這個擴(kuò)展
刪除這個擴(kuò)展就沒有問題了

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??