>  기사  >  백엔드 개발  >  Python에서 비동기 셸 명령 실행을 구현하는 방법은 무엇입니까?

Python에서 비동기 셸 명령 실행을 구현하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-22 16:07:02693검색

How to Implement Asynchronous Shell Command Execution in Python?

Python에서 비동기 셸 명령 실행

Python 스크립트 내에서 외부 셸 명령의 비동기 실행을 용이하게 하려면 os 사용을 고려할 수 있습니다. .system() 함수. 그러나 이 접근 방식에서는 동기 동작을 피하기 위해 명령 끝 부분에 & 기호를 활용합니다. 결과적으로 비동기 실행을 달성하는 데 적합한 방법으로서의 타당성에 대한 우려가 제기됩니다.

하위 프로세스: 우수한 솔루션

os.system() 대신 subprocess 모듈은 Popen 클래스 형태로 보다 적절한 솔루션을 제공합니다. 이 클래스를 사용하면 장기 실행 명령을 비동기식으로 원활하게 실행할 수 있으므로 외부 명령이 작업을 수행하는 동안 Python 스크립트가 작업을 계속할 수 있습니다.

구현

설명하려면 Popen 사용 시 다음 예를 고려하십시오.

<code class="python">from subprocess import Popen

# Initiate the long-running 'watch ls' command
p = Popen(['watch', 'ls'])

# Continue executing the Python script while the command runs
# ...

# Terminate the subprocess when necessary
p.terminate()</code>

추가 기능

Popen 인스턴스는 비동기 실행 외에도 여러 가지 다른 기능을 제공합니다. 특히, poll() 메소드를 통해 실행 상태를 모니터링할 수 있습니다. 또한, 통신() 메소드를 활용하여 stdin을 통해 데이터를 교환하고 프로세스 종료를 기다릴 수 있습니다.

위 내용은 Python에서 비동기 셸 명령 실행을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.