繁体   English   中英

如何从Python启动GUI程序,但是当用户关闭窗口时进程结束?

[英]How can I start a GUI program from Python, but have the process end when the user closes the window?

我想写一个Python脚本,将启动一个GUI程序(如,运行具有二进制程序subprocess.runos.system或东西)。 在程序完成之前,脚本不应阻塞,应先启动脚本,然后继续运行。

我正在Ubuntu上执行此操作。

我尝试了subprocess.Popen ,但是如果我运行,说subprocess.Popen("gedit") ,我会得到奇怪的行为。 如果打开Ubuntu系统监视器(进程管理器),则可以看到运行脚本时出现了gedit进程,并且gedit窗口本身也打开了。 但是,如果我关闭窗口,则该过程不会在系统监视器中结束。 直到我的python脚本退出之前,过程一直保持在那里。

如何获得我想要的行为? 我现在唯一能想到的就是在另一个Python线程中调用subprocess.run ,那是我唯一能做的吗?

尝试使用subprocess.call 这以前对我有用。

subprocess.call(['command', 'arguments'])

窗口关闭后,程序应结束。

在退出程序之前,必须杀死创建的子进程。

试试这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM