
posix_getpgrp() 함수는 현재 프로세스의 프로세스 그룹 ID를 반환합니다. 이 함수는 성공적으로 프로세스 그룹 ID를 반환했을 때 0을 반환하고, 실패했을 때 -1을 반환합니다.
위의 코드에서 에러가 발생하는 이유는, posix_getpgrp() 함수는 현재 프로세스의 프로세스 그룹 ID를 반환하기 위해 pid_t 타입의 인자를 받지만, getpid() 함수는 현재 프로세스의 PID를 반환하는 함수입니다. 따라서, posix_getpgrp() 함수에 pid_t 타입의 인자를 전달하는 것은 의미가 없습니다.
위의 코드를 실행했을 때, 현재 프로세스의 프로세스 그룹 ID를 얻으려면 다음과 같이 수정할 수 있습니다.
#hostingforum.kr
c
#include
#include
int main() {
pid_t pgrp_id = posix_getpgrp(); // pid_t 타입의 인자를 전달하지 않습니다.
printf("프로세스 그룹 ID : %dn", pgrp_id);
return 0;
}
위의 코드를 실행했을 때, 현재 프로세스의 프로세스 그룹 ID를 얻으려면 posix_getpgrp() 함수 대신에 getsid() 함수를 사용할 수 있습니다.
#hostingforum.kr
c
#include
#include
int main() {
pid_t pgrp_id = getsid(0); // 0은 현재 프로세스를 의미합니다.
printf("프로세스 그룹 ID : %dn", pgrp_id);
return 0;
}
getsid() 함수는 현재 프로세스의 프로세스 그룹 ID를 반환합니다.
2025-05-20 20:18