Python:在后台运行xdgopen

2024-05-29 10:30:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python上有控制台应用程序。我试着用xdg打开并在后台运行,但不行,我试过了

os.system('xdg-open http://google.com &')
subprocess.call('xdg-open http://google.com &', shell=True)

Tags: comtrue应用程序httposgoogleopenshell
1条回答
网友
1楼 · 发布于 2024-05-29 10:30:36

我不知道你说什么

but I can't

因为它对我有用。但是,我想,您在抱怨父进程在子进程关闭之前不会关闭。在

然而,这一准则是一种过时的做法(如果它曾经是赞成的话);现代的等效做法应该是

process = subprocess.Popen(['xdg-open', 'Dunno.png'])

它没有要求shell为您分叉,而是从一开始就在后台运行,而不经过shell。这也应该解决上述问题。在

如果要捕获sys.stdout,可以使用

^{pr2}$

它将进程的stdout和stderr的输出重定向到缓冲区。(您可以使用process.stdoutprocess.stderr访问这些缓冲区,并通过读写或使用process.communicate进行通信。在

您可以使用process.returncode获得返回代码。在

如果您的问题不是这个,请提供问题描述(回溯?)会有用的。同样值得检查的是,在shell中使用xgdopen的行为是否符合您的预期。在

相关问题 更多 >

    热门问题