PRCTL(2)

이름
prctl - 프로세스상에서의 실행

사용법
#include <sys/prctl.h>

int prctl(int option, unsigned long arg2, unsigned long arg3 , unsigned long arg4, unsigned long arg5);

설명
prctl 는 무엇을 해야 하는지를(<linux/prctl.h>에서 정해진 값을 가진) 뜻하는 첫번째 독립변수와 이것에 따른 의미를 가지는 매개 변수를 통해 호출된다. 첫번째 독립변수는:

PR_SET_PDEATHSIG
    (리눅스 2.1.57 이후) 현재 프로세스의 근원 프로세스 강제 종료 신호를 arg2 (1..최대 범위의 신호값이나 0으로 지운다.)로 설정한다. 이것은 현재 프로세스가 그것의 근원 프로세스가 종료 되는 때를 알게 해주는 신호이다. 이 값은 fork()에서 초기화 된다.

PR_GET_PDEATHSIG
    (리눅스 2.3.15 이후) 근원 프로세스의 강제종료 신호의 현제 값을 (int *) arg2에서 읽는다.

반환값
성공 시, 0을 반환한다. 에러 시, -1 을 반환한다. 그리고 errno 는 적절히 설정된다.

에러

EINVAL
    option 의 값이 알려지지 않았다거나, 그것이 PR_SET_PDEATHSIG 이고, arg2 가 0 혹은 signal number가 아니다.

호환
이 호출은 리눅스에 특화 되어 있다.. IRIX 는 prctl 시스템 호출을 기본형 ptrdiff_t prctl(int option, int arg2, int arg3); 으로, 그리고 사용자당 최대 프로세스 할당하고, 호출한 프로세스가 사용할 수 있는 최대 프로세스 할당하고, 현재 어떤 프로세스가 폐쇄되어 있는지 알려주고, 최대 스텍 크기를 잡고 설정하는 등등을 옵션으로 가지고 있다.(또한, 리눅스 2.1.44 에서는 MIPS 구조상에서의 irix_prctl로 소개되었다.),

AVAILABILITY
prctl() 시스템 호출은 리눅스 2.1.57에서 소개되었다. 아직 prctl() 라이브러리 호출은 없다.

관련 항목
signal(2)

역자
ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 26