将控制台窗口的控制权传递给子进程

时间:2013-12-02 12:42:29

标签: c++ python console subprocess

我正在编写几个Python脚本来管理构建我的C ++项目。在其中一个脚本中,我将生成一些头文件,用makefile调用GNU make来构建项目,然后如果成功,用我的可执行文件调用gdb。我的问题是:如何将控制台窗口的控制权传递给gdb,这样我可以直接与gdb交互而不受Python的干扰? (或者可能通过Python实时管道输入和输出。)在gdb停止后,Python脚本将如何重新获得对控制台窗口的控制?

1 个答案:

答案 0 :(得分:1)

使用子流程,您可以轻松地做到这一点。

from subprocess import Popen
Popen('gdb a.out', shell=True).communicate()
print 'test'

一旦退出GDB,脚本将继续,并且将打印“test”。