개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.20 16:34

SwooleProcess::wait 함수 사용 방법에 대한 질문

목록
  • Godot러버 2일 전 2025.06.20 16:34
  • 11
    1
저는 SwooleProcess::wait 함수를 사용하여 프로세스를 기다리는 방법에 대해 이해를 못 하게 되었습니다.

저는 프로세스를 기다리기 위해 SwooleProcess::wait 함수를 사용하고 있습니다. 하지만, 이 함수의 첫 번째 인자는 어떤 값이 들어갈 수 있는지 정확히 모르겠습니다.

SwooleProcess::wait 함수의 첫 번째 인자는 프로세스 ID를 의미하나요? 아니면 PID가 아닌 다른 값을 의미하나요?

그리고 여러 개의 프로세스를 동시에 기다리기 위해서는 어떻게 해야할까요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    SwooleProcess::wait 함수의 첫 번째 인자는 프로세스 ID를 의미합니다. 이 함수는 프로세스 ID를 인수로 받아서 해당 프로세스가 종료될 때까지 대기합니다.

    다중 프로세스를 동시에 기다리기 위해서는 SwooleProcess::wait 함수를 반복적으로 호출하거나, 프로세스 ID를 배열로 전달하여 한번에 여러 개의 프로세스를 기다릴 수 있습니다.

    예를 들어, 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $processes = [];
    
    foreach ($tasks as $task) {
    
        $pid = swoole_process::exec($task);
    
        $processes[] = $pid;
    
    }
    
    
    
    while (!empty($processes)) {
    
        $pid = swoole_process::wait($processes);
    
        if ($pid !== false) {
    
            unset($processes[array_search($pid, $processes)]);
    
        }
    
    }
    
    


    또는 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $processes = [];
    
    foreach ($tasks as $task) {
    
        $pid = swoole_process::exec($task);
    
        $processes[] = $pid;
    
    }
    
    
    
    $pids = array_values($processes);
    
    while (!empty($pids)) {
    
        $pid = swoole_process::wait($pids);
    
        if ($pid !== false) {
    
            $key = array_search($pid, $pids);
    
            if ($key !== false) {
    
                unset($pids[$key]);
    
            }
    
        }
    
    }
    
    

    2025-06-20 16:35

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 30,070건 / 26 페이지

검색

게시물 검색