[파이썬] os `os.getpgid()`, `os.setpgid()`로 프로세스 그룹 ID 조회 및 설정

파이썬의 os 모듈은 운영 체제와의 상호 작용을 담당하는 다양한 기능을 제공합니다. 이 중에서도 os 모듈은 프로세스 관리와 관련된 많은 기능을 제공합니다. 이번 글에서는 os.getpgid()os.setpgid() 함수를 사용하여 프로세스 그룹 ID를 조회하고 설정하는 방법에 대해 알아보겠습니다.

os.getpgid(): 프로세스 그룹 ID 조회하기

os.getpgid() 함수는 주어진 프로세스 ID에 해당하는 프로세스 그룹 ID를 반환합니다.

import os

pid = os.getpid()
pgid = os.getpgid(pid)

print(f"프로세스 ID: {pid}")
print(f"프로세스 그룹 ID: {pgid}")

위의 예제 코드를 실행하면 현재 프로세스의 ID와 그에 해당하는 프로세스 그룹 ID가 출력됩니다.

os.setpgid(): 프로세스 그룹 ID 설정하기

os.setpgid() 함수를 사용하면 주어진 프로세스 ID에 새로운 프로세스 그룹 ID를 설정할 수 있습니다.

import os

pid = os.getpid()
new_pgid = 12345  # 설정할 새로운 프로세스 그룹 ID

os.setpgid(pid, new_pgid)

print(f"프로세스 ID: {pid}")
print(f"새로운 프로세스 그룹 ID: {new_pgid}")
print(f"변경된 프로세스 그룹 ID: {os.getpgid(pid)}")

위의 예제 코드에서는 os.setpgid() 함수를 사용하여 현재 프로세스의 프로세스 그룹 ID를 new_pgid 변수에 저장된 값으로 변경합니다. 그리고 변경된 프로세스 그룹 ID를 확인하여 출력합니다.

주의할 점은 os.setpgid() 함수로 설정한 프로세스 그룹 ID는 현재 프로세스와 그 자식 프로세스에도 적용됩니다.

이러한 방식으로 os.getpgid()os.setpgid() 함수를 사용하여 프로세스 그룹 ID를 조회하고 설정할 수 있습니다. 프로세스 그룹 ID는 프로세스들을 묶어서 관리하기 위해 사용되며, 시스템 리소스 관리나 신호 전달 등에 활용됩니다.