[파이썬] subprocess `subprocess.CompletedProcess`: 완료된 프로세스 처리

Subprocess 모듈은 파이썬에서 외부 프로세스를 호출하고 제어하기 위한 강력한 도구입니다. 이 모듈은 완료된 프로세스에 대한 정보를 반환하는 subprocess.CompletedProcess 클래스를 제공합니다. 이 포스트에서는 subprocess.CompletedProcess 클래스를 사용하여 완료된 프로세스를 처리하는 방법에 대해 알아보겠습니다.

완료된 프로세스 처리란?

완료된 프로세스 처리란, 외부 프로세스를 실행한 후 해당 프로세스가 성공적으로 완료되었는지 여부를 확인하고, 그 결과 및 관련 정보를 가져오는 과정을 말합니다. 완료된 프로세스는 종료 코드, 표준 출력 및 오류 출력을 포함한 여러 가지 정보를 반환합니다. 이러한 정보들은 subprocess.CompletedProcess 클래스를 사용하여 쉽게 액세스할 수 있습니다.

subprocess.CompletedProcess 클래스 사용하기

subprocess.CompletedProcess 클래스는 subprocess.run() 메서드 또는 비동기 실행을 통해 생성됩니다. 이 클래스는 다음과 같은 속성을 가지고 있습니다:

import subprocess

# 외부 프로세스 실행하기
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)

# CompletedProcess 객체에서 정보 얻기
print(f"Command: {result.args}")
print(f"Return Code: {result.returncode}")
print(f"Standard Output: {result.stdout}")
print(f"Error Output: {result.stderr}")

위의 예제에서는 subprocess.run() 함수를 사용하여 ls -l 명령어를 실행하고 결과를 캡처합니다. 그런 다음 subprocess.CompletedProcess 객체의 속성을 사용하여 실행 결과를 출력합니다.

결론

subprocess.CompletedProcess 클래스를 사용하면 파이썬에서 외부 프로세스를 실행하고 그 결과 및 관련 정보를 손쉽게 처리할 수 있습니다. 이 클래스는 외부 프로그램과의 통신, 데이터 처리, 시스템 상태 확인 등 다양한 용도로 활용될 수 있습니다. 완료된 프로세스 처리에 대해 더 알아보고 싶다면, 파이썬 공식 문서와 subprocess 모듈에 대해 자세히 살펴보시기 바랍니다.