使用python打开一个新的xterm窗口以运行另一个脚本,然后尝试使用Ctrl + C终止

问题描述

我一直在研究python脚本 a.py ,以打开一个新的xterm终端窗口并运行另一个脚本 b 。使用 a.py 启动 b 的目的是因为 a.py 将为 b 设置一些输入。 a.py 在新窗口中运行 b 之后,我想保留新窗口以查看结果。

关于 b

的一些快速信息
  • b 启动其他进程
  • b 运行并且我执行Ctrl + C时,它捕获中断信号并在清理过程中终止其进程
  • b 由其他人管理,所以我很难更改它。

我想复制在 a.py 中运行 b 如何处理中断(Ctrl + C)。

到目前为止,我所拥有的看起来像这样

...
command = 'xterm -e bash -c "b; exec bash"'
subprocess.Popen(command,stdout=sp.PIPE,stderr=sp.PIPE,shell=True) 
...

在新窗口中启动 b 似乎可行,但是当我尝试执行Ctrl + C时,新的xterm窗口在 b 可以进行清理之前关闭。 / p>

我尝试将命令更改为以下命令以保持窗口打开,但是在 b 进行清理时收到SIGHUP异常(结果是 b 尚未完成清理。)

command = 'xterm -hold -e bash -c "b; exec bash"'

有人知道我如何从 a.py 中打开新窗口,以便 b 完成清理吗?

预先感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...