如何解决使用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 举报,一经查实,本站将立刻删除。