簡體   English   中英

在 Windows 上使用 python 啟動分離的無限進程並將輸出通過管道傳輸到文件中

[英]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 上實現這一目標。

您是否嘗試過將stderrstdout重定向到兩個文件:

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.txtstdout.txt ,因為您的進程的輸出可以重定向到任一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM