[파이썬] subprocess `subprocess.CREATE_NO_WINDOW`: 창 없이 프로세스 시작

Python의 subprocess 모듈은 외부 프로세스를 실행하고 제어하는 데 사용됩니다. 그 중에서도 CREATE_NO_WINDOW 옵션은 프로세스를 실행할 때 창을 표시하지 않고 실행하는 기능을 제공합니다.

이 옵션은 주로 GUI가 필요하지 않은 백그라운드 프로세스에 유용합니다. 예를 들어, 스크립트에서 다른 프로그램을 실행할 때 화면에 창을 띄우지 않고 실행하고 싶은 경우에 사용합니다.

CREATE_NO_WINDOW 사용 예제

아래는 CREATE_NO_WINDOW을 사용하여 외부 프로세스를 실행하는 간단한 예제입니다.

import subprocess

command = ['echo', 'Hello, World!']
subprocess.run(command, creationflags=subprocess.CREATE_NO_WINDOW)

위의 예제에서는 subprocess.run() 함수를 사용하여 ‘Hello, World!’를 출력하는 echo 명령어를 실행합니다. subprocess.CREATE_NO_WINDOW 옵션이 주어지면 해당 명령어가 실행될 때 창이 표시되지 않습니다.

subprocess.run() 함수는 프로세스 실행 결과를 반환하며, 여기서는 CompletedProcess 객체를 반환합니다. 이 객체의 속성을 이용하면 프로세스의 종료 코드, 출력 결과 등을 액세스할 수 있습니다.

요약

subprocess.CREATE_NO_WINDOW 옵션은 Python의 subprocess 모듈을 사용하여 외부 프로세스를 실행할 때 창을 표시하지 않고 실행하는 기능을 제공합니다. 이 옵션은 백그라운드에서 실행되는 프로세스에 특히 유용합니다. subprocess.run() 함수와 함께 사용하여 프로세스의 실행 결과를 제어하고 조작할 수 있습니다.

더 자세한 내용은 Python 공식 문서를 참조하십시오.