GETPGRP(2)

명칭
getpgrp - 프로세스 그룹의 취득

프로그램 라이브러리
libc

서식
<unistd.h> pid_t getpgrp(void) pid_t getpgid(pid_t pid)

해설
현재의 프로세스의 프로세스 그룹은 getpgrp() 에 의해 돌려주어집니다. pid 에 의해 식별된다 프로세스의 프로세스 그룹은 getpgid() 에 의해 돌려주어집니다. pid 하지만 0 의 경우, getpgid() (은)는 현재의 프로세스의 프로세스 그룹을 돌려줍니다.

프로세스 그룹은 시그널의 전달용으로 사용되어 또 단말에 의해 입력의 요구를 조정하는데도 사용됩니다. 단말과 같은 프로세스 그룹을 가지는 (1 개(살) 이상의) 프로세스는 foreground이며 독해할 수 있습니다. 한편으로 그 외의 프로세스가 읽기 취할 것이고 경우는 시그널에 의해 블록 당합니다.

이와 같이, 이 호출은 csh(1) (와)과 같이 작업 제어를 위해서(때문에) 프로세스 그룹의 작성을 행하는 프로그램에 의해 사용됩니다. tcgetpgrp() 호출과 tcsetpgrp() 호출은 제어 단말의 프로세스 그룹 (을)를 취득/설정하는데 사용됩니다.

반환값
getpgrp() 호출은, 항상 성공합니다. 성공리에 완료하면(자), getpgid() 호출은 지정한 프로세스의 프로세스 그룹을 돌려줍니다. 실패하면(자), 값 -1 을 errno (으)로 설정해 에러를 나타냅니다.

에러
getpgid() (은)는 다음의 경우 이외는 성공합니다:

[ESRCH]
    pid 그리고 지정한 프로세스에 대응하는 프로세스가 발견되지 않습니다.

관련 항목
getsid(2), setpgid(2), termios(4)

역사
getpgrp() 함수는 4.0BSD 그리고 등장했습니다. getpgid() 함수 호출은 System V Release 4 에서의 사용법으로 유래하고 있습니다.

표준
getpgrp() 함수는 p1003.1-90 에 준거하고 있습니다.

호환성
이 버젼의 getpgrp() (은)는, pid_t pid 인수를 취하지 않는다고 하는 점으로 과거의 Berkeley 버젼이란 차이가 납니다. 호환성은 p1003.1-90 에의 대응에 의해 잃게 되어 버렸습니다.

p1003.1-90 기본 개념으로부터:

4.3BSD (은)는, 지정의 프로세스에 대해 프로세스 그룹 ID 를 돌려준다 getpgrp() 함수를 갖추고 있습니다. 이 함수는 작업 제어를 서포트하는데 사용됩니다만, 기존의 작업 제어를 하는 모든 쉘은, 반드시 이 함수에 호출 프로세스를 지정해 있습니다. 그 때문보다 간단한 AT&T UNIX getpgrp() 그리고 충분하고, 4.3BSD getpgrp() 의 추가된 복잡함은 POSIX. 1 으로부터 생략 되고 있습니다. 낡은 기능은 getpgid() 함수로 이용할 수 있습니다.