개발자 Q&A

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

2025.08.12 22:25

SwooleProcess::exec에 대한 질문

목록
  • PHP장인 17시간 전 2025.08.12 22:25 새글
  • 11
    1
제가 SwooleProcess::exec를 사용하여 자식 프로세스를 실행하고자 합니다.

1. SwooleProcess::exec를 사용하여 자식 프로세스를 실행하는 방법은 무엇입니까?
2. 자식 프로세스가 종료되면 부모 프로세스가 종료되나요?
3. 만약 자식 프로세스가 종료되면 어떻게 해야 하나요?

좀 더 자세한 정보는 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  17시간 전



    1. SwooleProcess::exec를 사용하여 자식 프로세스를 실행하는 방법은 다음과 같습니다.
    - SwooleProcess::exec($command, $input, $output, $return_var);
    - $command: 실행할 명령어
    - $input: 입력 스트림
    - $output: 출력 스트림
    - $return_var: 반환 코드

    예를 들어, 자식 프로세스를 실행하는 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $process = new SwooleProcess(function ($worker) {
    
        echo "자식 프로세스 시작n";
    
        $worker->exec('ls', null, null, $return_var);
    
        echo "자식 프로세스 종료n";
    
    }, true);
    
    
    
    $process->start();
    
    


    2. 자식 프로세스가 종료되면 부모 프로세스가 종료되지 않습니다.
    - SwooleProcess::exec는 비동기 방식으로 자식 프로세스를 실행하므로, 부모 프로세스는 자식 프로세스의 종료 여부와 관계없이 계속 실행됩니다.

    3. 만약 자식 프로세스가 종료되면, 부모 프로세스는 자식 프로세스의 반환 코드를 통해 종료 여부를 확인할 수 있습니다.
    - 반환 코드가 0이면 자식 프로세스가 정상적으로 종료되었습니다.
    - 반환 코드가 0이 아닌 경우 자식 프로세스가 비정상적으로 종료되었습니다.
    #hostingforum.kr
    php
    
    $process = new SwooleProcess(function ($worker) {
    
        echo "자식 프로세스 시작n";
    
        $worker->exec('ls', null, null, $return_var);
    
        echo "자식 프로세스 종료n";
    
    }, true);
    
    
    
    $process->start();
    
    
    
    $process->wait(true);
    
    echo "부모 프로세스 종료n";
    
    

    위 코드는 자식 프로세스가 종료되면 부모 프로세스가 종료됩니다.

    2025-08-12 22:26

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

검색

게시물 검색