[英]start detached infinite process with python on windows and pipe the output into a file
我正在嘗試使用無限運行的 python 啟動一個進程,並將它的輸出通過管道傳輸到一個文件中。 在 python 可執行文件退出后,新創建的進程應該繼續運行。 當 python 使用以下代碼退出時,我能夠啟動一個進程並保持它運行:
subprocess.Popen(command_list, creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.CREATE_BREAKAWAY_FROM_JOB)
現在我正在嘗試將已啟動進程的輸出通過管道傳輸到一個文件中,但是我無法通過分離進程來讓它一起工作。
關於如何實現這一目標的任何建議?
請注意,我正在嘗試在 Windows 上實現這一目標。
您是否嘗試過將stderr和stdout重定向到兩個文件:
from subprocess import Popen
from subprocess import DEVNULL
from subprocess import DETACHED_PROCESS
from subprocess import CREATE_NEW_PROCESS_GROUP
from subprocess import CREATE_BREAKAWAY_FROM_JOB
command_list = ...
creationflags = DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP | CREATE_BREAKAWAY_FROM_JOB
with open("stderr.txt", mode="wb") as out, open("stdout.txt", mode="wb") as err:
Popen(command_list, creationflags=creationflags, stdin=DEVNULL, stdout=out, stderr=err)
確保檢查stderr.txt
和stdout.txt
,因為您的進程的輸出可以重定向到任一。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.