我正在尝试使用无限运行的python启动一个进程,并将其输出传输到文件中。 python可执行文件退出后,新创建的进程应继续运行。 我可以启动一个进程并使它在python退出时保持运行:
subprocess.Popen(command_list, creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.CREATE_BREAKAWAY_FROM_JOB)
现在,我尝试将已启动进程的输出通过管道传输到文件中,但是我无法使其与分离进程一起工作。
关于如何实现此目标的任何建议?
请注意,我正在尝试在Windows上实现这一目标。
答案 0 :(得分:1)
您是否尝试过将 stderr 和 stdout 重定向到两个文件:
<p-table #table [columns]="cols" [value]="sales" [scrollable]="true" scrollHeight="200px"> ... </p-table>
<button (click)="scroll(table)">Scroll</button>
请确保检查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
,因为您过程的输出可以重定向到任何一个。