如何分离由subprocess.call运行的程序?

时间:2018-07-26 12:15:46

标签: python python-3.x subprocess

我正在使用subprocess.call使用默认应用程序打开pdf文件,如下所示:

subprocess.call(["xdg-open", pdf], stderr=STDOUT)

但是,运行该命令时,该进程已连接到终端,我想将其分离。基本上,我想运行该终端,然后将其用于其他用途。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以为此使用Popen

from subprocess import Popen, PIPE, STDOUT
p = Popen(["xdg-open", pdf], stderr=STDOUT, stdout=PIPE)
# do your own thing while xdg-open runs as a child process
output, _ = p.communicate()