使用Python 非同步執行外部命令
作為Python 開發者,您可能會遇到需要非同步執行shell 命令的場景,讓您的腳本繼續不間斷地運作。雖然文件提供了多種呼叫外部命令的方法,但確定最合適的方法可能具有挑戰性。
os.system() 和 &
在您的實驗中,您發現在命令末尾使用 os.system() 和 & 允許非同步執行。這種方法對於啟動命令而不等待其完成確實很有效。但是,有一些缺點需要考慮。
subprocess.Popen 作為理想的解決方案
對於非同步命令執行,subprocess.Popen 是一種更全面且推薦的方法。它提供了精確的控制和管理外部進程的多功能介面。
<code class="python">from subprocess import Popen p = Popen(['watch', 'ls']) # Example command to run</code>
Popen 的好處:
結論:
雖然os.system() 表面上可以實現異步執行,但subprocess.Popen 為非同步管理功能豐富的解決方案。它的多功能性和監控功能使其成為Python中控制外部流程的首選。
以上是如何在 Python 中非同步執行 Shell 指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!