SETSID(2)

이름
setsid - 세션을 만들고 프로세스 그룹 ID를 설정한다.

사용법
#include <unistd.h>

pid_t setsid(void);

설명
setsid() 는 호출한 프로세스가 프로세스 그룹의 리더가 아니면 새로운 새션을 만든다. 호출한 프로세스는 새로운 세션의 리더이며, 새로운 프로세스 그룹의 그룹 리더가 되며, 제어 터미널을 갖지 않는다. 호출한 프로세스의 프로세스 그룹 ID와 세션 ID는 호출한 프로세스의 PID로 설정된다. 호출한 프로세스는 단지 새로운 프로세스 그룹과 새로운 새션의 프로세스가 된다.

반환값
호출한 프로세스의 세션 ID

에러
에러시, -1이 리턴된다. 발생할 수 있는 유일한 에러는 EPERM이다. 이것은 어떤 프로세스의 그룹 ID와 호출한 프로세스의 PID가 같을 때이다. 즉, setsid는 호출한 프로세스가 이미 프로세스 그룹 리더이면 실패한다.

주의
프로세스 그룹 리더는 프로세스의 PID와 프로세스의 그룹 ID가 같은 프로세스이다. setsid가 확실히 성공하기 위해서, fork후에 exit 하고, 자식은 setsid()를 호출하면 된다.

호환
POSIX, SVr4.

관련 항목
setpgid(2), setpgrp(2)

역자
정강훈 <skyeyes@soback.kornet.net>, 2000년 4월 27일