首页 > 解决方案 > 如果打开另一个终端窗口,则无法终止/终止程序

问题描述

我在树莓派上运行一个程序,它会在一定时间内打开几个其他 python 程序,然后关闭它们。发生了什么: - 如果我从 Python 3 IDE 或 Thonny Python 或其他 IDE 运行主程序,一切正常,它会按预期打开和关闭所有程序。- 如果我从 Python 3 IDE 或 Thonny Python 或其他 IDE 运行主程序,但我打开了一些其他终端窗口(甚至没有运行任何东西,只是打开并闲置),它将打开所有程序,但是之后无法关闭它们。- 如果我在终端窗口中运行主程序,它将打开所有程序,但之后无法关闭它们。

代码例如 a = subprocess.Popen(['lxterminal', '-e', 'bb.py']) # 每次都可以正常工作。

为了启动这些程序,我还尝试了 Popen 和 os.system 的不同变体,它们每次都能正常工作。

杀死/终止我试过:os.system,os.kill(pid,signal.SIGTERM),os.kill(pid,signal.SIGINT)等。用-9 PID,subprocess.Popen然后kill()或终止()

为什么如果我打开了一些其他终端窗口,它突然无法关闭其他程序?

我需要从终端运行我的主程序并能够关闭其他程序。有什么建议么?

谢谢

标签: pythonsubprocesskillterminate

解决方案


推荐阅读