【发布时间】:2018-07-26 12:15:45
【问题描述】:
我正在使用 subprocess.call 使用我的默认应用程序打开一个 pdf 文件,如下所示:
subprocess.call(["xdg-open", pdf], stderr=STDOUT)
但是,当运行它时,该进程附加到终端,我想将其分离。基本上,我想运行它,然后能够将终端用于其他东西。
我该怎么做呢?
【问题讨论】:
标签: python python-3.x subprocess
我正在使用 subprocess.call 使用我的默认应用程序打开一个 pdf 文件,如下所示:
subprocess.call(["xdg-open", pdf], stderr=STDOUT)
但是,当运行它时,该进程附加到终端,我想将其分离。基本上,我想运行它,然后能够将终端用于其他东西。
我该怎么做呢?
【问题讨论】:
标签: python python-3.x subprocess
您可以为此使用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()
【讨论】: