라이브러리

[PHP] pcntl_sigprocmask - 차단된 신호를 설정하고 검색합니다.




pcntl_sigprocmask


`pcntl_sigprocmask`는 PHP의 pcntl 확장 함수 중 하나로, 프로세스의 시그널 마스크를 설정하거나 가져오는 함수입니다. 시그널 마스크는 프로세스가 받을 수 있는 시그널을 필터링하는 데 사용됩니다.

시그널 마스크란?


시그널 마스크는 프로세스가 받을 수 있는 시그널을 필터링하는 데 사용되는 설정입니다. 시그널 마스크를 설정하면, 프로세스가 받을 수 있는 시그널을 제한할 수 있습니다. 예를 들어, 프로세스가 SIGINT 시그널을 받지 않도록 설정할 수 있습니다.

pcntl_sigprocmask 함수의 사용법


`pcntl_sigprocmask` 함수는 두 가지 형태로 사용할 수 있습니다.

# 1. 시그널 마스크 설정


`pcntl_sigprocmask` 함수의 첫 번째 형태는 시그널 마스크를 설정하는 것입니다. 이 형태의 함수는 다음과 같은 형태를 가집니다.

#hostingforum.kr
php

pcntl_sigprocmask(int $how, array $set, array &$oldset)



* `$how` : 시그널 마스크를 설정할 때 사용하는 방법입니다. 다음 값이 가능합니다.
+ `PCNTL_SIG_BLOCK` : 시그널 마스크를 설정합니다.
+ `PCNTL_SIG_UNBLOCK` : 시그널 마스크에서 시그널을 제거합니다.
+ `PCNTL_SIG_SETMASK` : 시그널 마스크를 설정하고, 이전의 시그널 마스크를 가져옵니다.
* `$set` : 시그널 마스크를 설정할 시그널 목록입니다.
* `$oldset` : 이전의 시그널 마스크를 저장할 변수입니다.

# 2. 시그널 마스크 가져오기


`pcntl_sigprocmask` 함수의 두 번째 형태는 시그널 마스크를 가져오는 것입니다. 이 형태의 함수는 다음과 같은 형태를 가집니다.

#hostingforum.kr
php

pcntl_sigprocmask(int $how, array $set = NULL, array &$oldset = NULL)



* `$how` : 시그널 마스크를 가져올 때 사용하는 방법입니다. 다음 값이 가능합니다.
+ `PCNTL_SIG_BLOCK` : 시그널 마스크를 가져옵니다.
+ `PCNTL_SIG_UNBLOCK` : 시그널 마스크에서 시그널을 제거합니다.
+ `PCNTL_SIG_SETMASK` : 시그널 마스크를 가져옵니다.
* `$set` : 시그널 마스크를 가져올 시그널 목록입니다. 이 변수는 NULL 이나 비어있을 수 있습니다.
* `$oldset` : 이전의 시그널 마스크를 저장할 변수입니다. 이 변수는 NULL 이나 비어있을 수 있습니다.

예제


# 시그널 마스크 설정


#hostingforum.kr
php

// 시그널 마스크를 설정할 시그널 목록

$set = array(SIGINT, SIGTERM);



// 이전의 시그널 마스크를 저장할 변수

$oldset = array();



// 시그널 마스크를 설정합니다.

pcntl_sigprocmask(PCNTL_SIG_BLOCK, $set, $oldset);



// 설정된 시그널 마스크를 확인합니다.

print_r($oldset);



# 시그널 마스크 가져오기


#hostingforum.kr
php

// 이전의 시그널 마스크를 저장할 변수

$oldset = array();



// 시그널 마스크를 가져옵니다.

pcntl_sigprocmask(PCNTL_SIG_SETMASK, NULL, $oldset);



// 가져온 시그널 마스크를 확인합니다.

print_r($oldset);



참고


* `pcntl_sigprocmask` 함수는 PHP 5.3.0 이상에서 사용할 수 있습니다.
* `pcntl_sigprocmask` 함수는 pcntl 확장 함수이므로, pcntl 확장 함수를 사용하기 전에 pcntl 확장 함수를 로드해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 339 페이지

검색

게시물 검색