例如,如果我运行Popen(["firefox", "https://example.org/"])
,我会收到一条行的消息
Gtk-Message: 21:33:04.621: Failed to load module "appmenu-gtk-module"
有没有一种方法可以运行相同的Popen(或任何等效的(,并且没有消息打印到屏幕上,然后终止程序(main.py(?
例如:
command(["firefox", "https://example.org/"])
exit(0)
打开firefox,然后自动退出程序,使
command()
仍然处于活动状态,并且command()
没有输出。
您只需要启动一个新的分离会话,并将stderr和stdout 设为null
from subprocess import Popen
import subprocess
import os
process = Popen(["firefox", "https://example.org/"],
stdin=subprocess.DEVNULL, stderr=subprocess.DEVNULL, stdout=subprocess.DEVNULL,
start_new_session=True)
exit(0)