본문 바로가기

Python

[Python] 외부 프로세스 실행시키기

728x90
728x90

파이썬의 subprocess 모듈을 활용하면 파이썬 코드가 실행되는 런타임에서 외부 프로세스를 실행할 수 있다.

subprocess.Popen

파이썬으로 실행 파일을 실행시키는 방법은 subprocess.run()이나 os.system()과 같이 여러 가지가 있는데, subprocess.run()은 이미 실행 중인 파일을 끝낼 때까지 기다리는 특징으로 인해 여러 프로세스를 비동기로 실행하는 목적에 적합하지 않고, os.system()은 공식문서에서 프로세스 실행 목적으로는 subprocess를 더 추천한다.

 

 

여러 개의 외부 프로세스를 비동기적으로 실행하기 위해서는 subprocess.Popen이 추천된다.

 

import subprocess

subprocess.Popen("실행파일 경로", "실행파일 옵션")

 

이 함수를 통해 다수의 프로세스를 기다림 없이 동시에 실행시킬 수 있다.

PIPE 연결

파이썬에서는 이렇게 실행한 프로세스에서 발생한 출력을 실행시킨 파이썬 코드에서 읽을 수 있도록 파이프를 연결할 수 있다.

 

import subprocess

subprocess.Popen("실행파일 경로", "실행파일 옵션")

stdout, stderr = process.communicate()

print(stdout.decode())
print(stderr.decode())

 

파이썬 코드를 통해 실행한 외부 프로세스에서 발생하는 출력을 관찰하거나 처리할 필요가 있을 때 사용할 수 있다.

728x90
728x90

'Python' 카테고리의 다른 글

F5-TTS로 초간단&초경량 TTS 개발하기  (1) 2024.11.23