[파이썬] 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는 프로세스들을 묶어서 관리하기 위해 사용되며, 시스템 리소스 관리나 신호 전달 등에 활용됩니다.