如何在Python 中啟動獨立後台進程
將shell 腳本轉換為Python 時,您可能會遇到需要在即使在腳本完成後背景仍然存在。為此,您可以利用 Python 的 subprocess 模組。
使用 subprocess.Popen
subprocess.Popen 函數可讓您產生一個新進程。要在背景啟動進程並將其與父進程分離,請將shell=True 和stderr=subprocess.STDOUT 參數傳遞給subprocess.Popen:
import subprocess subprocess.Popen(["command", "arg1", "arg2"], shell=True, stderr=subprocess.STDOUT)
使用fork()函數
另一個選項是使用fork()函數建立一個與父行程同時運作的子程序。不過這種方法比較高級,需要仔細處理訊號和資源。
避免阻塞
防止父行程在等待子程序時阻塞完成,避免在傳回的流程物件上呼叫 communicate()方法Popen.
範例
要啟動在後台運作 sleep 30的進程,請使用以下:
import subprocess subprocess.Popen(["sleep", "30"])
澄清
在此上下文中,「後台」是指啟動一個獨立於父進程運行的進程,無論它是否啟動於貝殼背景。
以上是如何使用 Python 的「subprocess」模組分離後台程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!