Python-将管道命令分叉到后台,并将其保留在那里

Python-将管道命令分叉到后台,并将其保留在那里,python,background,pipe,fork,Python,Background,Pipe,Fork,我是python新手,还在学习 我需要做的是将一个复杂的命令转移到后台并继续执行我的主程序,如下所示: 我从linux命令行执行此操作(工作正常) 所以程序进入后台,我可以继续我的工作 如何在python程序中运行上述命令 非常感谢您可以使用以下方法将第一个命令的输出通过管道传输到第二个命令: Popen不会等待命令完成。此处不需要“&” ./pgm1 arg1 arg2 arg3 | ./pgm22 arg21 arg22 arg23 arg24 & from subprocess

我是python新手,还在学习 我需要做的是将一个复杂的命令转移到后台并继续执行我的主程序,如下所示: 我从linux命令行执行此操作(工作正常)

所以程序进入后台,我可以继续我的工作

如何在python程序中运行上述命令


非常感谢

您可以使用以下方法将第一个命令的输出通过管道传输到第二个命令:

Popen不会等待命令完成。

此处不需要“&”
./pgm1 arg1 arg2 arg3 | ./pgm22 arg21 arg22 arg23 arg24 &
from subprocess import PIPE,Popen

p = Popen(["./pgm1" ,"arg1" ,"arg2" ,"arg3" ],stdout=PIPE)
p1 = Popen( ["./pgm22", "arg21", "arg22", "arg23" ,"arg24"],stdin=p.stdout,stdout=PIPE)
p.stdout.close()