问题描述
我一直在研究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 (将#修改为@)