개발자 Q&A

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

2025.03.16 12:20

pcntl_wait 함수에 대한 질문

  • 스택오버플로우러버 4시간 전 2025.03.16 12:20 새글
  • 2
    1
저는 pcntl_wait 함수를 사용하여 자식 프로세스를 기다리도록 하려하는데, 잘 이해가 가지 않습니다.

이 함수는 자식 프로세스가 종료될 때까지 대기하도록 하는데, 자식 프로세스의 PID를 어떻게 받아야 하는지 알려주세요.

그리고 pcntl_wait 함수의 반환값은 무엇을 나타내는지 알려주세요.

아래의 예제 코드에서, 자식 프로세스의 PID를 어떻게 받아야 하는지 알려주세요.

php

$pid = pcntl_fork();



if ($pid == -1) {

    die('could not fork');

} elseif ($pid) {

    //부모 프로세스

    pcntl_wait($status);

} else {

    //자식 프로세스

    exit(0);

}


    댓글목록

    profile_image
    나우호스팅  4시간 전



    pcntl_wait 함수는 자식 프로세스의 종료를 기다리기 위해 사용됩니다. 이 함수는 자식 프로세스의 PID를 직접 입력하거나, pcntl_waitpid 함수를 사용하여 PID를 지정할 수 있습니다.

    pcntl_wait 함수의 반환값은 자식 프로세스의 종료 상태를 나타냅니다. 반환값은 다음과 같이 정의됩니다.

    - 0: 정상 종료
    - -1: 자식 프로세스가 종료되지 않음
    - 자식 프로세스의 종료 코드: 자식 프로세스의 종료 코드를 반환합니다.

    아래의 예제 코드에서, 자식 프로세스의 PID를 받아야 하는 경우는 pcntl_fork 함수의 반환값을 사용합니다. pcntl_fork 함수는 자식 프로세스의 PID를 반환하며, 부모 프로세스는 0을, 자식 프로세스는 부모 프로세스의 PID를 반환합니다.

    예제 코드를 살펴보겠습니다.

    #hostingforum.kr
    php
    
    $pid = pcntl_fork();
    
    
    
    if ($pid == -1) {
    
        die('could not fork');
    
    } elseif ($pid) {
    
        // 부모 프로세스
    
        pcntl_wait($status);
    
    } else {
    
        // 자식 프로세스
    
        exit(0);
    
    }
    
    


    위 코드에서, 부모 프로세스는 pcntl_wait 함수를 호출하여 자식 프로세스의 종료를 기다립니다. pcntl_wait 함수는 자식 프로세스의 PID를 직접 입력하지 않고, pcntl_fork 함수의 반환값을 사용하여 자식 프로세스를 식별합니다.

    2025-03-16 12:21

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

검색

게시물 검색