重定向父进程的管道而不影响子进程

Redirect pipes of parent process without affecting child process

我是 运行 第三方 python 脚本,它使用我的 cpp 可执行文件启动 gdb。我相信该脚本将 gdb 作为子进程启动。我想禁用或重定向 python 脚本的输出,同时保留 gdb.

的输出

是否可以从命令行执行此操作?当我将脚本通过管道传输到 /dev/null 时,甚至 gdb 输出也被删除。

修改 python 脚本是一种选择,但我宁愿避免这样做,因为它不是很便携。

I would like to disable or redirect the output from the python script while keeping the output from gdb.

在这种特殊情况下,您可以将 gdb 输出保存到文件(默认为 gdb.txt)。

gdb$ set logging on
Copying output to gdb.txt.
gdb$ 

您可以将此命令添加到 .gdbinit - gdb 初始化脚本。这允许您不修改 python 脚本。你可以将 python 脚本输出通过管道传输到 /dev/null,而 gdb 输出将保存到文件中(默认为 gdb.txt)。