개발자 Q&A

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

2025.06.29 13:03

SwooleProcess::exit 관련 질문

목록
  • DevOps성애자 20일 전 2025.06.29 13:03
  • 49
    1
제가 현재 SwooleProcess::exit를 사용하여 프로세스를 종료하려고 하는데,

이때 프로세스 종료 후에 발생하는 이벤트를 어떻게 처리해야 하는지 궁금합니다.

특히, 프로세스 종료 시에 child 프로세스에 발생하는 signal에 대한 처리 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  20일 전



    SwooleProcess::exit를 사용하여 프로세스를 종료할 때, 발생하는 이벤트를 처리하는 방법은 다음과 같습니다.

    1. 프로세스 종료 이벤트: 프로세스 종료 이벤트는 SwooleProcess::exit가 호출된 후에 발생합니다. 이 이벤트를 처리하기 위해, 이벤트 루프에서 'shutdown' 이벤트를 리스너로 등록할 수 있습니다.

    #hostingforum.kr
    php
    
    $process = new SwooleProcess(function($worker) {
    
        // ...
    
    }, false);
    
    
    
    $process->on('shutdown', function($worker) {
    
        // 프로세스 종료 이벤트 처리 코드
    
    });
    
    
    
    $process->exit();
    
    


    2. child 프로세스 signal 처리: child 프로세스 signal 처리는 SwooleProcess::exit가 호출된 후에 발생합니다. 이 signal을 처리하기 위해, 이벤트 루프에서 'signal' 이벤트를 리스너로 등록할 수 있습니다.

    #hostingforum.kr
    php
    
    $process = new SwooleProcess(function($worker) {
    
        // ...
    
    }, false);
    
    
    
    $process->on('signal', function($worker, $signo) {
    
        // signal 처리 코드
    
    });
    
    
    
    $process->exit();
    
    


    3. child 프로세스 종료 이벤트: child 프로세스 종료 이벤트는 child 프로세스가 종료된 후에 발생합니다. 이 이벤트를 처리하기 위해, 이벤트 루프에서 'workerStop' 이벤트를 리스너로 등록할 수 있습니다.

    #hostingforum.kr
    php
    
    $process = new SwooleProcess(function($worker) {
    
        // ...
    
    }, false);
    
    
    
    $process->on('workerStop', function($worker) {
    
        // child 프로세스 종료 이벤트 처리 코드
    
    });
    
    
    
    $process->exit();
    
    


    이러한 이벤트를 처리하여, 프로세스 종료 시에 발생하는 모든 이벤트를 처리할 수 있습니다.

    2025-06-29 13:04

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

검색

게시물 검색