[파이썬] subprocess `subprocess.Popen` 객체의 `returncode` 속성

subprocess.Popen 객체에는 여러 속성들이 있는데, 그중 하나가 returncode 속성입니다. 이 속성은 자식 프로세스가 종료된 후의 반환 코드를 나타냅니다. 일반적으로 프로세스가 성공적으로 완료되었을 경우 반환 코드는 0이 됩니다. 그러나 오류가 발생하거나 실행이 중단된 경우에는 0이 아닌 다른 값을 가질 수 있습니다.

이 속성을 사용하면 부모 프로세스에서 자식 프로세스의 실행 결과를 확인하고 적절한 조치를 취할 수 있습니다. 예를 들어, 반환 코드를 기반으로 성공 또는 실패 여부를 판단하거나, 오류 메시지를 출력하는 등의 작업을 수행할 수 있습니다.

다음은 subprocess 모듈을 사용해 새로운 프로세스를 실행하고 returncode 속성을 확인하는 간단한 예제입니다.

import subprocess

# "ls" 명령어를 실행하고 결과를 출력
process = subprocess.Popen(["ls", "-l"])
process.wait()  # 자식 프로세스의 실행이 완료될 때까지 대기

if process.returncode == 0:
    print("프로세스가 성공적으로 완료되었습니다.")
else:
    print("프로세스 실행 중 오류가 발생하였습니다.")

이 예제에서는 ls -l 명령어를 실행하고 자식 프로세스의 실행이 완료될 때까지 대기한 후, returncode 속성을 확인하여 성공 또는 실패 여부를 출력합니다.

subprocess.Popen 객체의 returncode 속성은 자식 프로세스의 실행 결과를 확인하는데 유용한 도구입니다. 프로세스 간의 상호작용이 필요한 경우 subprocess 모듈의 다른 기능들을 함께 사용하면 더욱 다양한 작업을 수행할 수 있습니다.