首页 > 解决方案 > 如何分离由 subprocess.call 运行的程序?

问题描述

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

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

但是,当运行它时,该进程附加到终端,我想将其分离。基本上,我想运行它,然后能够将终端用于其他东西。

我该怎么做呢?

标签: pythonpython-3.xsubprocess

解决方案


你可以用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()

推荐阅读