프로세스 그룹을 구성하는 프로세스 중 하나가 그룹 리더가 되고, 프로세스 그룹 리더의 PID = PGID가 된다.
프로세스의 그룹 리더는 변경될 수 있으며, 리더 프로세스가 변경되면 PGID도 변경됩니다.
프로세스 그룹은 그룹 리더 프로세스가 종료되더라도 최소 한개의 프로세스가 그룹에 있으면 존재한다.
POSIX 표준에서 제안한 개념으로 사용자가 로그인해 작업하고 있는 터미널 단위로 프로세스 그룹을 묶은 것이다.
프로세스 그룹을 일종의 작업이라 하고, 세션은 일종의 작업 공간
프로세스 그룹이 관련있는 프로세스를 그룹으로 묶은거라면, 세션은 관련있는 프로세스 그룹을 묶은 것
프로세스가 새로운 세션을 생성하면 해당 프로세스는 세션 리더가 된다.
세션 리더의 PID = 세션 ID가 된다.
setsid()를 호출한 프로세스는 새로운 하나의 세션을 만들고, 세션리더가 된다.
또한 새로운 세션 그룹을 만들고 그룹의 리더가 된다.
setsid를 호출하여 새롭게 만든 세션은 제어터미널을 가지고 있지 않다.(=데몬)
이미 프로세스의 그룹 리더인 프로세스는 호출할 수 없다.
- 서버는 다른 프로세스에 어떤 서비스스 제공하는 프로세스를 말한다. 일반적으로 네트워크를 거쳐 서비스를 제공하는데, 이를 위해 서버는 컴퓨터가 동작하고 있는 동안 항상 작동하고 있어야 한다. 서버를 가동시킬 때 프로세스는 만든 사람이 로그아웃하면 모두 종료되기 때문에 로그아웃을 하면 안되는 제약이 생긴다. 이를 해결하기 위해서 데몬 프로세스를 사용: 데몬 프로세스는 연결된 단말이 없기 때문에
제어 터미널
세션 리더 프로세스가 처음 터미널 디바이스를 열 때 설정
대화형 쉘이 만든 세션의 경우, 제어 터미널은 사용자가 로그인한 터미널이다.
제어 터미널을 열면 세션 리더가 그 터미널의 제어 프로세스가 된다.