라이브러리
[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 확장 함수를 로드해야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.