Linux控制台使用STDOUT作为管道记录进程

时间:2016-12-16 06:02:44

标签: linux qt ubuntu

我正在尝试获取进程的控制台日志,该日志由父进程(program is coded in Qt)生成。奇怪的是,stdout和stderror是管道。我该如何查看控制台日志?

流程A(14543是A的pid) - >启动流程B(14552是B)的pid

我可以看到进程A的控制台日志。

tux@kamath:/$ ls -l /proc/14552/fd/
total 0
lr-x------ 1 tux tux 64 Dec 16 11:17 0 -> pipe:[8968050]
l-wx------ 1 tux tux 64 Dec 16 11:17 1 -> pipe:[8968051]
l-wx------ 1 tux tux 64 Dec 16 11:15 2 -> pipe:[8968052]

tux@kamath:/$ ls -l/proc/14543/fd

total 0
lrwx------ 1 tux tux 64 Dec 16 11:25 0 -> /dev/pts/21
lrwx------ 1 tux tux 64 Dec 16 11:25 1 -> /dev/pts/21
lrwx------ 1 tux tux 64 Dec 16 11:15 2 -> /dev/pts/21

1 个答案:

答案 0 :(得分:2)

QProcess()的问题是什么?您可以使用QProcess运行子进程,并使用正常的QIODevice读/写调用[read] /写入[stderr / stdou] / stdout

以下是示例: read QProcess output to string